+
+ Read the Docs
+ v: ${config.versions.current.slug}
+
+
+
+
+ ${renderLanguages(config)}
+ ${renderVersions(config)}
+ ${renderDownloads(config)}
+
+ On Read the Docs
+
+ Project Home
+
+
+ Builds
+
+
+ Downloads
+
+
+
+ Search
+
+
+
+
+
+
+ Hosted by Read the Docs
+
+
+
+ `;
+
+ // Inject the generated flyout into the body HTML element.
+ document.body.insertAdjacentHTML("beforeend", flyout);
+
+ // Trigger the Read the Docs Addons Search modal when clicking on the "Search docs" input from inside the flyout.
+ document
+ .querySelector("#flyout-search-form")
+ .addEventListener("focusin", () => {
+ const event = new CustomEvent("readthedocs-search-show");
+ document.dispatchEvent(event);
+ });
+ })
+}
+
+if (themeLanguageSelector || themeVersionSelector) {
+ function onSelectorSwitch(event) {
+ const option = event.target.selectedIndex;
+ const item = event.target.options[option];
+ window.location.href = item.dataset.url;
+ }
+
+ document.addEventListener("readthedocs-addons-data-ready", function (event) {
+ const config = event.detail.data();
+
+ const versionSwitch = document.querySelector(
+ "div.switch-menus > div.version-switch",
+ );
+ if (themeVersionSelector) {
+ let versions = config.versions.active;
+ if (config.versions.current.hidden || config.versions.current.type === "external") {
+ versions.unshift(config.versions.current);
+ }
+ const versionSelect = `
+
+ ${versions
+ .map(
+ (version) => `
+
+ ${version.slug}
+ `,
+ )
+ .join("\n")}
+
+ `;
+
+ versionSwitch.innerHTML = versionSelect;
+ versionSwitch.firstElementChild.addEventListener("change", onSelectorSwitch);
+ }
+
+ const languageSwitch = document.querySelector(
+ "div.switch-menus > div.language-switch",
+ );
+
+ if (themeLanguageSelector) {
+ if (config.projects.translations.length) {
+ // Add the current language to the options on the selector
+ let languages = config.projects.translations.concat(
+ config.projects.current,
+ );
+ languages = languages.sort((a, b) =>
+ a.language.name.localeCompare(b.language.name),
+ );
+
+ const languageSelect = `
+
+ ${languages
+ .map(
+ (language) => `
+
+ ${language.language.name}
+ `,
+ )
+ .join("\n")}
+
+ `;
+
+ languageSwitch.innerHTML = languageSelect;
+ languageSwitch.firstElementChild.addEventListener("change", onSelectorSwitch);
+ }
+ else {
+ languageSwitch.remove();
+ }
+ }
+ });
+}
+
+document.addEventListener("readthedocs-addons-data-ready", function (event) {
+ // Trigger the Read the Docs Addons Search modal when clicking on "Search docs" input from the topnav.
+ document
+ .querySelector("[role='search'] input")
+ .addEventListener("focusin", () => {
+ const event = new CustomEvent("readthedocs-search-show");
+ document.dispatchEvent(event);
+ });
+});
\ No newline at end of file
diff --git a/_static/language_data.js b/_static/language_data.js
new file mode 100644
index 0000000..c7fe6c6
--- /dev/null
+++ b/_static/language_data.js
@@ -0,0 +1,192 @@
+/*
+ * This script contains the language-specific data used by searchtools.js,
+ * namely the list of stopwords, stemmer, scorer and splitter.
+ */
+
+var stopwords = ["a", "and", "are", "as", "at", "be", "but", "by", "for", "if", "in", "into", "is", "it", "near", "no", "not", "of", "on", "or", "such", "that", "the", "their", "then", "there", "these", "they", "this", "to", "was", "will", "with"];
+
+
+/* Non-minified version is copied as a separate JS file, if available */
+
+/**
+ * Porter Stemmer
+ */
+var Stemmer = function() {
+
+ var step2list = {
+ ational: 'ate',
+ tional: 'tion',
+ enci: 'ence',
+ anci: 'ance',
+ izer: 'ize',
+ bli: 'ble',
+ alli: 'al',
+ entli: 'ent',
+ eli: 'e',
+ ousli: 'ous',
+ ization: 'ize',
+ ation: 'ate',
+ ator: 'ate',
+ alism: 'al',
+ iveness: 'ive',
+ fulness: 'ful',
+ ousness: 'ous',
+ aliti: 'al',
+ iviti: 'ive',
+ biliti: 'ble',
+ logi: 'log'
+ };
+
+ var step3list = {
+ icate: 'ic',
+ ative: '',
+ alize: 'al',
+ iciti: 'ic',
+ ical: 'ic',
+ ful: '',
+ ness: ''
+ };
+
+ var c = "[^aeiou]"; // consonant
+ var v = "[aeiouy]"; // vowel
+ var C = c + "[^aeiouy]*"; // consonant sequence
+ var V = v + "[aeiou]*"; // vowel sequence
+
+ var mgr0 = "^(" + C + ")?" + V + C; // [C]VC... is m>0
+ var meq1 = "^(" + C + ")?" + V + C + "(" + V + ")?$"; // [C]VC[V] is m=1
+ var mgr1 = "^(" + C + ")?" + V + C + V + C; // [C]VCVC... is m>1
+ var s_v = "^(" + C + ")?" + v; // vowel in stem
+
+ this.stemWord = function (w) {
+ var stem;
+ var suffix;
+ var firstch;
+ var origword = w;
+
+ if (w.length < 3)
+ return w;
+
+ var re;
+ var re2;
+ var re3;
+ var re4;
+
+ firstch = w.substr(0,1);
+ if (firstch == "y")
+ w = firstch.toUpperCase() + w.substr(1);
+
+ // Step 1a
+ re = /^(.+?)(ss|i)es$/;
+ re2 = /^(.+?)([^s])s$/;
+
+ if (re.test(w))
+ w = w.replace(re,"$1$2");
+ else if (re2.test(w))
+ w = w.replace(re2,"$1$2");
+
+ // Step 1b
+ re = /^(.+?)eed$/;
+ re2 = /^(.+?)(ed|ing)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ re = new RegExp(mgr0);
+ if (re.test(fp[1])) {
+ re = /.$/;
+ w = w.replace(re,"");
+ }
+ }
+ else if (re2.test(w)) {
+ var fp = re2.exec(w);
+ stem = fp[1];
+ re2 = new RegExp(s_v);
+ if (re2.test(stem)) {
+ w = stem;
+ re2 = /(at|bl|iz)$/;
+ re3 = new RegExp("([^aeiouylsz])\\1$");
+ re4 = new RegExp("^" + C + v + "[^aeiouwxy]$");
+ if (re2.test(w))
+ w = w + "e";
+ else if (re3.test(w)) {
+ re = /.$/;
+ w = w.replace(re,"");
+ }
+ else if (re4.test(w))
+ w = w + "e";
+ }
+ }
+
+ // Step 1c
+ re = /^(.+?)y$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(s_v);
+ if (re.test(stem))
+ w = stem + "i";
+ }
+
+ // Step 2
+ re = /^(.+?)(ational|tional|enci|anci|izer|bli|alli|entli|eli|ousli|ization|ation|ator|alism|iveness|fulness|ousness|aliti|iviti|biliti|logi)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ suffix = fp[2];
+ re = new RegExp(mgr0);
+ if (re.test(stem))
+ w = stem + step2list[suffix];
+ }
+
+ // Step 3
+ re = /^(.+?)(icate|ative|alize|iciti|ical|ful|ness)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ suffix = fp[2];
+ re = new RegExp(mgr0);
+ if (re.test(stem))
+ w = stem + step3list[suffix];
+ }
+
+ // Step 4
+ re = /^(.+?)(al|ance|ence|er|ic|able|ible|ant|ement|ment|ent|ou|ism|ate|iti|ous|ive|ize)$/;
+ re2 = /^(.+?)(s|t)(ion)$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(mgr1);
+ if (re.test(stem))
+ w = stem;
+ }
+ else if (re2.test(w)) {
+ var fp = re2.exec(w);
+ stem = fp[1] + fp[2];
+ re2 = new RegExp(mgr1);
+ if (re2.test(stem))
+ w = stem;
+ }
+
+ // Step 5
+ re = /^(.+?)e$/;
+ if (re.test(w)) {
+ var fp = re.exec(w);
+ stem = fp[1];
+ re = new RegExp(mgr1);
+ re2 = new RegExp(meq1);
+ re3 = new RegExp("^" + C + v + "[^aeiouwxy]$");
+ if (re.test(stem) || (re2.test(stem) && !(re3.test(stem))))
+ w = stem;
+ }
+ re = /ll$/;
+ re2 = new RegExp(mgr1);
+ if (re.test(w) && re2.test(w)) {
+ re = /.$/;
+ w = w.replace(re,"");
+ }
+
+ // and turn initial Y back to y
+ if (firstch == "y")
+ w = firstch.toLowerCase() + w.substr(1);
+ return w;
+ }
+}
+
diff --git a/_static/minus.png b/_static/minus.png
new file mode 100644
index 0000000..d96755f
Binary files /dev/null and b/_static/minus.png differ
diff --git a/_static/plus.png b/_static/plus.png
new file mode 100644
index 0000000..7107cec
Binary files /dev/null and b/_static/plus.png differ
diff --git a/_static/pygments.css b/_static/pygments.css
new file mode 100644
index 0000000..6f8b210
--- /dev/null
+++ b/_static/pygments.css
@@ -0,0 +1,75 @@
+pre { line-height: 125%; }
+td.linenos .normal { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+span.linenos { color: inherit; background-color: transparent; padding-left: 5px; padding-right: 5px; }
+td.linenos .special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+span.linenos.special { color: #000000; background-color: #ffffc0; padding-left: 5px; padding-right: 5px; }
+.highlight .hll { background-color: #ffffcc }
+.highlight { background: #f8f8f8; }
+.highlight .c { color: #3D7B7B; font-style: italic } /* Comment */
+.highlight .err { border: 1px solid #F00 } /* Error */
+.highlight .k { color: #008000; font-weight: bold } /* Keyword */
+.highlight .o { color: #666 } /* Operator */
+.highlight .ch { color: #3D7B7B; font-style: italic } /* Comment.Hashbang */
+.highlight .cm { color: #3D7B7B; font-style: italic } /* Comment.Multiline */
+.highlight .cp { color: #9C6500 } /* Comment.Preproc */
+.highlight .cpf { color: #3D7B7B; font-style: italic } /* Comment.PreprocFile */
+.highlight .c1 { color: #3D7B7B; font-style: italic } /* Comment.Single */
+.highlight .cs { color: #3D7B7B; font-style: italic } /* Comment.Special */
+.highlight .gd { color: #A00000 } /* Generic.Deleted */
+.highlight .ge { font-style: italic } /* Generic.Emph */
+.highlight .ges { font-weight: bold; font-style: italic } /* Generic.EmphStrong */
+.highlight .gr { color: #E40000 } /* Generic.Error */
+.highlight .gh { color: #000080; font-weight: bold } /* Generic.Heading */
+.highlight .gi { color: #008400 } /* Generic.Inserted */
+.highlight .go { color: #717171 } /* Generic.Output */
+.highlight .gp { color: #000080; font-weight: bold } /* Generic.Prompt */
+.highlight .gs { font-weight: bold } /* Generic.Strong */
+.highlight .gu { color: #800080; font-weight: bold } /* Generic.Subheading */
+.highlight .gt { color: #04D } /* Generic.Traceback */
+.highlight .kc { color: #008000; font-weight: bold } /* Keyword.Constant */
+.highlight .kd { color: #008000; font-weight: bold } /* Keyword.Declaration */
+.highlight .kn { color: #008000; font-weight: bold } /* Keyword.Namespace */
+.highlight .kp { color: #008000 } /* Keyword.Pseudo */
+.highlight .kr { color: #008000; font-weight: bold } /* Keyword.Reserved */
+.highlight .kt { color: #B00040 } /* Keyword.Type */
+.highlight .m { color: #666 } /* Literal.Number */
+.highlight .s { color: #BA2121 } /* Literal.String */
+.highlight .na { color: #687822 } /* Name.Attribute */
+.highlight .nb { color: #008000 } /* Name.Builtin */
+.highlight .nc { color: #00F; font-weight: bold } /* Name.Class */
+.highlight .no { color: #800 } /* Name.Constant */
+.highlight .nd { color: #A2F } /* Name.Decorator */
+.highlight .ni { color: #717171; font-weight: bold } /* Name.Entity */
+.highlight .ne { color: #CB3F38; font-weight: bold } /* Name.Exception */
+.highlight .nf { color: #00F } /* Name.Function */
+.highlight .nl { color: #767600 } /* Name.Label */
+.highlight .nn { color: #00F; font-weight: bold } /* Name.Namespace */
+.highlight .nt { color: #008000; font-weight: bold } /* Name.Tag */
+.highlight .nv { color: #19177C } /* Name.Variable */
+.highlight .ow { color: #A2F; font-weight: bold } /* Operator.Word */
+.highlight .w { color: #BBB } /* Text.Whitespace */
+.highlight .mb { color: #666 } /* Literal.Number.Bin */
+.highlight .mf { color: #666 } /* Literal.Number.Float */
+.highlight .mh { color: #666 } /* Literal.Number.Hex */
+.highlight .mi { color: #666 } /* Literal.Number.Integer */
+.highlight .mo { color: #666 } /* Literal.Number.Oct */
+.highlight .sa { color: #BA2121 } /* Literal.String.Affix */
+.highlight .sb { color: #BA2121 } /* Literal.String.Backtick */
+.highlight .sc { color: #BA2121 } /* Literal.String.Char */
+.highlight .dl { color: #BA2121 } /* Literal.String.Delimiter */
+.highlight .sd { color: #BA2121; font-style: italic } /* Literal.String.Doc */
+.highlight .s2 { color: #BA2121 } /* Literal.String.Double */
+.highlight .se { color: #AA5D1F; font-weight: bold } /* Literal.String.Escape */
+.highlight .sh { color: #BA2121 } /* Literal.String.Heredoc */
+.highlight .si { color: #A45A77; font-weight: bold } /* Literal.String.Interpol */
+.highlight .sx { color: #008000 } /* Literal.String.Other */
+.highlight .sr { color: #A45A77 } /* Literal.String.Regex */
+.highlight .s1 { color: #BA2121 } /* Literal.String.Single */
+.highlight .ss { color: #19177C } /* Literal.String.Symbol */
+.highlight .bp { color: #008000 } /* Name.Builtin.Pseudo */
+.highlight .fm { color: #00F } /* Name.Function.Magic */
+.highlight .vc { color: #19177C } /* Name.Variable.Class */
+.highlight .vg { color: #19177C } /* Name.Variable.Global */
+.highlight .vi { color: #19177C } /* Name.Variable.Instance */
+.highlight .vm { color: #19177C } /* Name.Variable.Magic */
+.highlight .il { color: #666 } /* Literal.Number.Integer.Long */
\ No newline at end of file
diff --git a/_static/searchtools.js b/_static/searchtools.js
new file mode 100644
index 0000000..2c774d1
--- /dev/null
+++ b/_static/searchtools.js
@@ -0,0 +1,632 @@
+/*
+ * Sphinx JavaScript utilities for the full-text search.
+ */
+"use strict";
+
+/**
+ * Simple result scoring code.
+ */
+if (typeof Scorer === "undefined") {
+ var Scorer = {
+ // Implement the following function to further tweak the score for each result
+ // The function takes a result array [docname, title, anchor, descr, score, filename]
+ // and returns the new score.
+ /*
+ score: result => {
+ const [docname, title, anchor, descr, score, filename, kind] = result
+ return score
+ },
+ */
+
+ // query matches the full name of an object
+ objNameMatch: 11,
+ // or matches in the last dotted part of the object name
+ objPartialMatch: 6,
+ // Additive scores depending on the priority of the object
+ objPrio: {
+ 0: 15, // used to be importantResults
+ 1: 5, // used to be objectResults
+ 2: -5, // used to be unimportantResults
+ },
+ // Used when the priority is not in the mapping.
+ objPrioDefault: 0,
+
+ // query found in title
+ title: 15,
+ partialTitle: 7,
+ // query found in terms
+ term: 5,
+ partialTerm: 2,
+ };
+}
+
+// Global search result kind enum, used by themes to style search results.
+class SearchResultKind {
+ static get index() { return "index"; }
+ static get object() { return "object"; }
+ static get text() { return "text"; }
+ static get title() { return "title"; }
+}
+
+const _removeChildren = (element) => {
+ while (element && element.lastChild) element.removeChild(element.lastChild);
+};
+
+/**
+ * See https://developer.mozilla.org/en-US/docs/Web/JavaScript/Guide/Regular_Expressions#escaping
+ */
+const _escapeRegExp = (string) =>
+ string.replace(/[.*+\-?^${}()|[\]\\]/g, "\\$&"); // $& means the whole matched string
+
+const _displayItem = (item, searchTerms, highlightTerms) => {
+ const docBuilder = DOCUMENTATION_OPTIONS.BUILDER;
+ const docFileSuffix = DOCUMENTATION_OPTIONS.FILE_SUFFIX;
+ const docLinkSuffix = DOCUMENTATION_OPTIONS.LINK_SUFFIX;
+ const showSearchSummary = DOCUMENTATION_OPTIONS.SHOW_SEARCH_SUMMARY;
+ const contentRoot = document.documentElement.dataset.content_root;
+
+ const [docName, title, anchor, descr, score, _filename, kind] = item;
+
+ let listItem = document.createElement("li");
+ // Add a class representing the item's type:
+ // can be used by a theme's CSS selector for styling
+ // See SearchResultKind for the class names.
+ listItem.classList.add(`kind-${kind}`);
+ let requestUrl;
+ let linkUrl;
+ if (docBuilder === "dirhtml") {
+ // dirhtml builder
+ let dirname = docName + "/";
+ if (dirname.match(/\/index\/$/))
+ dirname = dirname.substring(0, dirname.length - 6);
+ else if (dirname === "index/") dirname = "";
+ requestUrl = contentRoot + dirname;
+ linkUrl = requestUrl;
+ } else {
+ // normal html builders
+ requestUrl = contentRoot + docName + docFileSuffix;
+ linkUrl = docName + docLinkSuffix;
+ }
+ let linkEl = listItem.appendChild(document.createElement("a"));
+ linkEl.href = linkUrl + anchor;
+ linkEl.dataset.score = score;
+ linkEl.innerHTML = title;
+ if (descr) {
+ listItem.appendChild(document.createElement("span")).innerHTML =
+ " (" + descr + ")";
+ // highlight search terms in the description
+ if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js
+ highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted"));
+ }
+ else if (showSearchSummary)
+ fetch(requestUrl)
+ .then((responseData) => responseData.text())
+ .then((data) => {
+ if (data)
+ listItem.appendChild(
+ Search.makeSearchSummary(data, searchTerms, anchor)
+ );
+ // highlight search terms in the summary
+ if (SPHINX_HIGHLIGHT_ENABLED) // set in sphinx_highlight.js
+ highlightTerms.forEach((term) => _highlightText(listItem, term, "highlighted"));
+ });
+ Search.output.appendChild(listItem);
+};
+const _finishSearch = (resultCount) => {
+ Search.stopPulse();
+ Search.title.innerText = _("Search Results");
+ if (!resultCount)
+ Search.status.innerText = Documentation.gettext(
+ "Your search did not match any documents. Please make sure that all words are spelled correctly and that you've selected enough categories."
+ );
+ else
+ Search.status.innerText = Documentation.ngettext(
+ "Search finished, found one page matching the search query.",
+ "Search finished, found ${resultCount} pages matching the search query.",
+ resultCount,
+ ).replace('${resultCount}', resultCount);
+};
+const _displayNextItem = (
+ results,
+ resultCount,
+ searchTerms,
+ highlightTerms,
+) => {
+ // results left, load the summary and display it
+ // this is intended to be dynamic (don't sub resultsCount)
+ if (results.length) {
+ _displayItem(results.pop(), searchTerms, highlightTerms);
+ setTimeout(
+ () => _displayNextItem(results, resultCount, searchTerms, highlightTerms),
+ 5
+ );
+ }
+ // search finished, update title and status message
+ else _finishSearch(resultCount);
+};
+// Helper function used by query() to order search results.
+// Each input is an array of [docname, title, anchor, descr, score, filename, kind].
+// Order the results by score (in opposite order of appearance, since the
+// `_displayNextItem` function uses pop() to retrieve items) and then alphabetically.
+const _orderResultsByScoreThenName = (a, b) => {
+ const leftScore = a[4];
+ const rightScore = b[4];
+ if (leftScore === rightScore) {
+ // same score: sort alphabetically
+ const leftTitle = a[1].toLowerCase();
+ const rightTitle = b[1].toLowerCase();
+ if (leftTitle === rightTitle) return 0;
+ return leftTitle > rightTitle ? -1 : 1; // inverted is intentional
+ }
+ return leftScore > rightScore ? 1 : -1;
+};
+
+/**
+ * Default splitQuery function. Can be overridden in ``sphinx.search`` with a
+ * custom function per language.
+ *
+ * The regular expression works by splitting the string on consecutive characters
+ * that are not Unicode letters, numbers, underscores, or emoji characters.
+ * This is the same as ``\W+`` in Python, preserving the surrogate pair area.
+ */
+if (typeof splitQuery === "undefined") {
+ var splitQuery = (query) => query
+ .split(/[^\p{Letter}\p{Number}_\p{Emoji_Presentation}]+/gu)
+ .filter(term => term) // remove remaining empty strings
+}
+
+/**
+ * Search Module
+ */
+const Search = {
+ _index: null,
+ _queued_query: null,
+ _pulse_status: -1,
+
+ htmlToText: (htmlString, anchor) => {
+ const htmlElement = new DOMParser().parseFromString(htmlString, 'text/html');
+ for (const removalQuery of [".headerlink", "script", "style"]) {
+ htmlElement.querySelectorAll(removalQuery).forEach((el) => { el.remove() });
+ }
+ if (anchor) {
+ const anchorContent = htmlElement.querySelector(`[role="main"] ${anchor}`);
+ if (anchorContent) return anchorContent.textContent;
+
+ console.warn(
+ `Anchored content block not found. Sphinx search tries to obtain it via DOM query '[role=main] ${anchor}'. Check your theme or template.`
+ );
+ }
+
+ // if anchor not specified or not found, fall back to main content
+ const docContent = htmlElement.querySelector('[role="main"]');
+ if (docContent) return docContent.textContent;
+
+ console.warn(
+ "Content block not found. Sphinx search tries to obtain it via DOM query '[role=main]'. Check your theme or template."
+ );
+ return "";
+ },
+
+ init: () => {
+ const query = new URLSearchParams(window.location.search).get("q");
+ document
+ .querySelectorAll('input[name="q"]')
+ .forEach((el) => (el.value = query));
+ if (query) Search.performSearch(query);
+ },
+
+ loadIndex: (url) =>
+ (document.body.appendChild(document.createElement("script")).src = url),
+
+ setIndex: (index) => {
+ Search._index = index;
+ if (Search._queued_query !== null) {
+ const query = Search._queued_query;
+ Search._queued_query = null;
+ Search.query(query);
+ }
+ },
+
+ hasIndex: () => Search._index !== null,
+
+ deferQuery: (query) => (Search._queued_query = query),
+
+ stopPulse: () => (Search._pulse_status = -1),
+
+ startPulse: () => {
+ if (Search._pulse_status >= 0) return;
+
+ const pulse = () => {
+ Search._pulse_status = (Search._pulse_status + 1) % 4;
+ Search.dots.innerText = ".".repeat(Search._pulse_status);
+ if (Search._pulse_status >= 0) window.setTimeout(pulse, 500);
+ };
+ pulse();
+ },
+
+ /**
+ * perform a search for something (or wait until index is loaded)
+ */
+ performSearch: (query) => {
+ // create the required interface elements
+ const searchText = document.createElement("h2");
+ searchText.textContent = _("Searching");
+ const searchSummary = document.createElement("p");
+ searchSummary.classList.add("search-summary");
+ searchSummary.innerText = "";
+ const searchList = document.createElement("ul");
+ searchList.setAttribute("role", "list");
+ searchList.classList.add("search");
+
+ const out = document.getElementById("search-results");
+ Search.title = out.appendChild(searchText);
+ Search.dots = Search.title.appendChild(document.createElement("span"));
+ Search.status = out.appendChild(searchSummary);
+ Search.output = out.appendChild(searchList);
+
+ const searchProgress = document.getElementById("search-progress");
+ // Some themes don't use the search progress node
+ if (searchProgress) {
+ searchProgress.innerText = _("Preparing search...");
+ }
+ Search.startPulse();
+
+ // index already loaded, the browser was quick!
+ if (Search.hasIndex()) Search.query(query);
+ else Search.deferQuery(query);
+ },
+
+ _parseQuery: (query) => {
+ // stem the search terms and add them to the correct list
+ const stemmer = new Stemmer();
+ const searchTerms = new Set();
+ const excludedTerms = new Set();
+ const highlightTerms = new Set();
+ const objectTerms = new Set(splitQuery(query.toLowerCase().trim()));
+ splitQuery(query.trim()).forEach((queryTerm) => {
+ const queryTermLower = queryTerm.toLowerCase();
+
+ // maybe skip this "word"
+ // stopwords array is from language_data.js
+ if (
+ stopwords.indexOf(queryTermLower) !== -1 ||
+ queryTerm.match(/^\d+$/)
+ )
+ return;
+
+ // stem the word
+ let word = stemmer.stemWord(queryTermLower);
+ // select the correct list
+ if (word[0] === "-") excludedTerms.add(word.substr(1));
+ else {
+ searchTerms.add(word);
+ highlightTerms.add(queryTermLower);
+ }
+ });
+
+ if (SPHINX_HIGHLIGHT_ENABLED) { // set in sphinx_highlight.js
+ localStorage.setItem("sphinx_highlight_terms", [...highlightTerms].join(" "))
+ }
+
+ // console.debug("SEARCH: searching for:");
+ // console.info("required: ", [...searchTerms]);
+ // console.info("excluded: ", [...excludedTerms]);
+
+ return [query, searchTerms, excludedTerms, highlightTerms, objectTerms];
+ },
+
+ /**
+ * execute search (requires search index to be loaded)
+ */
+ _performSearch: (query, searchTerms, excludedTerms, highlightTerms, objectTerms) => {
+ const filenames = Search._index.filenames;
+ const docNames = Search._index.docnames;
+ const titles = Search._index.titles;
+ const allTitles = Search._index.alltitles;
+ const indexEntries = Search._index.indexentries;
+
+ // Collect multiple result groups to be sorted separately and then ordered.
+ // Each is an array of [docname, title, anchor, descr, score, filename, kind].
+ const normalResults = [];
+ const nonMainIndexResults = [];
+
+ _removeChildren(document.getElementById("search-progress"));
+
+ const queryLower = query.toLowerCase().trim();
+ for (const [title, foundTitles] of Object.entries(allTitles)) {
+ if (title.toLowerCase().trim().includes(queryLower) && (queryLower.length >= title.length/2)) {
+ for (const [file, id] of foundTitles) {
+ const score = Math.round(Scorer.title * queryLower.length / title.length);
+ const boost = titles[file] === title ? 1 : 0; // add a boost for document titles
+ normalResults.push([
+ docNames[file],
+ titles[file] !== title ? `${titles[file]} > ${title}` : title,
+ id !== null ? "#" + id : "",
+ null,
+ score + boost,
+ filenames[file],
+ SearchResultKind.title,
+ ]);
+ }
+ }
+ }
+
+ // search for explicit entries in index directives
+ for (const [entry, foundEntries] of Object.entries(indexEntries)) {
+ if (entry.includes(queryLower) && (queryLower.length >= entry.length/2)) {
+ for (const [file, id, isMain] of foundEntries) {
+ const score = Math.round(100 * queryLower.length / entry.length);
+ const result = [
+ docNames[file],
+ titles[file],
+ id ? "#" + id : "",
+ null,
+ score,
+ filenames[file],
+ SearchResultKind.index,
+ ];
+ if (isMain) {
+ normalResults.push(result);
+ } else {
+ nonMainIndexResults.push(result);
+ }
+ }
+ }
+ }
+
+ // lookup as object
+ objectTerms.forEach((term) =>
+ normalResults.push(...Search.performObjectSearch(term, objectTerms))
+ );
+
+ // lookup as search terms in fulltext
+ normalResults.push(...Search.performTermsSearch(searchTerms, excludedTerms));
+
+ // let the scorer override scores with a custom scoring function
+ if (Scorer.score) {
+ normalResults.forEach((item) => (item[4] = Scorer.score(item)));
+ nonMainIndexResults.forEach((item) => (item[4] = Scorer.score(item)));
+ }
+
+ // Sort each group of results by score and then alphabetically by name.
+ normalResults.sort(_orderResultsByScoreThenName);
+ nonMainIndexResults.sort(_orderResultsByScoreThenName);
+
+ // Combine the result groups in (reverse) order.
+ // Non-main index entries are typically arbitrary cross-references,
+ // so display them after other results.
+ let results = [...nonMainIndexResults, ...normalResults];
+
+ // remove duplicate search results
+ // note the reversing of results, so that in the case of duplicates, the highest-scoring entry is kept
+ let seen = new Set();
+ results = results.reverse().reduce((acc, result) => {
+ let resultStr = result.slice(0, 4).concat([result[5]]).map(v => String(v)).join(',');
+ if (!seen.has(resultStr)) {
+ acc.push(result);
+ seen.add(resultStr);
+ }
+ return acc;
+ }, []);
+
+ return results.reverse();
+ },
+
+ query: (query) => {
+ const [searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms] = Search._parseQuery(query);
+ const results = Search._performSearch(searchQuery, searchTerms, excludedTerms, highlightTerms, objectTerms);
+
+ // for debugging
+ //Search.lastresults = results.slice(); // a copy
+ // console.info("search results:", Search.lastresults);
+
+ // print the results
+ _displayNextItem(results, results.length, searchTerms, highlightTerms);
+ },
+
+ /**
+ * search for object names
+ */
+ performObjectSearch: (object, objectTerms) => {
+ const filenames = Search._index.filenames;
+ const docNames = Search._index.docnames;
+ const objects = Search._index.objects;
+ const objNames = Search._index.objnames;
+ const titles = Search._index.titles;
+
+ const results = [];
+
+ const objectSearchCallback = (prefix, match) => {
+ const name = match[4]
+ const fullname = (prefix ? prefix + "." : "") + name;
+ const fullnameLower = fullname.toLowerCase();
+ if (fullnameLower.indexOf(object) < 0) return;
+
+ let score = 0;
+ const parts = fullnameLower.split(".");
+
+ // check for different match types: exact matches of full name or
+ // "last name" (i.e. last dotted part)
+ if (fullnameLower === object || parts.slice(-1)[0] === object)
+ score += Scorer.objNameMatch;
+ else if (parts.slice(-1)[0].indexOf(object) > -1)
+ score += Scorer.objPartialMatch; // matches in last name
+
+ const objName = objNames[match[1]][2];
+ const title = titles[match[0]];
+
+ // If more than one term searched for, we require other words to be
+ // found in the name/title/description
+ const otherTerms = new Set(objectTerms);
+ otherTerms.delete(object);
+ if (otherTerms.size > 0) {
+ const haystack = `${prefix} ${name} ${objName} ${title}`.toLowerCase();
+ if (
+ [...otherTerms].some((otherTerm) => haystack.indexOf(otherTerm) < 0)
+ )
+ return;
+ }
+
+ let anchor = match[3];
+ if (anchor === "") anchor = fullname;
+ else if (anchor === "-") anchor = objNames[match[1]][1] + "-" + fullname;
+
+ const descr = objName + _(", in ") + title;
+
+ // add custom score for some objects according to scorer
+ if (Scorer.objPrio.hasOwnProperty(match[2]))
+ score += Scorer.objPrio[match[2]];
+ else score += Scorer.objPrioDefault;
+
+ results.push([
+ docNames[match[0]],
+ fullname,
+ "#" + anchor,
+ descr,
+ score,
+ filenames[match[0]],
+ SearchResultKind.object,
+ ]);
+ };
+ Object.keys(objects).forEach((prefix) =>
+ objects[prefix].forEach((array) =>
+ objectSearchCallback(prefix, array)
+ )
+ );
+ return results;
+ },
+
+ /**
+ * search for full-text terms in the index
+ */
+ performTermsSearch: (searchTerms, excludedTerms) => {
+ // prepare search
+ const terms = Search._index.terms;
+ const titleTerms = Search._index.titleterms;
+ const filenames = Search._index.filenames;
+ const docNames = Search._index.docnames;
+ const titles = Search._index.titles;
+
+ const scoreMap = new Map();
+ const fileMap = new Map();
+
+ // perform the search on the required terms
+ searchTerms.forEach((word) => {
+ const files = [];
+ const arr = [
+ { files: terms[word], score: Scorer.term },
+ { files: titleTerms[word], score: Scorer.title },
+ ];
+ // add support for partial matches
+ if (word.length > 2) {
+ const escapedWord = _escapeRegExp(word);
+ if (!terms.hasOwnProperty(word)) {
+ Object.keys(terms).forEach((term) => {
+ if (term.match(escapedWord))
+ arr.push({ files: terms[term], score: Scorer.partialTerm });
+ });
+ }
+ if (!titleTerms.hasOwnProperty(word)) {
+ Object.keys(titleTerms).forEach((term) => {
+ if (term.match(escapedWord))
+ arr.push({ files: titleTerms[term], score: Scorer.partialTitle });
+ });
+ }
+ }
+
+ // no match but word was a required one
+ if (arr.every((record) => record.files === undefined)) return;
+
+ // found search word in contents
+ arr.forEach((record) => {
+ if (record.files === undefined) return;
+
+ let recordFiles = record.files;
+ if (recordFiles.length === undefined) recordFiles = [recordFiles];
+ files.push(...recordFiles);
+
+ // set score for the word in each file
+ recordFiles.forEach((file) => {
+ if (!scoreMap.has(file)) scoreMap.set(file, {});
+ scoreMap.get(file)[word] = record.score;
+ });
+ });
+
+ // create the mapping
+ files.forEach((file) => {
+ if (!fileMap.has(file)) fileMap.set(file, [word]);
+ else if (fileMap.get(file).indexOf(word) === -1) fileMap.get(file).push(word);
+ });
+ });
+
+ // now check if the files don't contain excluded terms
+ const results = [];
+ for (const [file, wordList] of fileMap) {
+ // check if all requirements are matched
+
+ // as search terms with length < 3 are discarded
+ const filteredTermCount = [...searchTerms].filter(
+ (term) => term.length > 2
+ ).length;
+ if (
+ wordList.length !== searchTerms.size &&
+ wordList.length !== filteredTermCount
+ )
+ continue;
+
+ // ensure that none of the excluded terms is in the search result
+ if (
+ [...excludedTerms].some(
+ (term) =>
+ terms[term] === file ||
+ titleTerms[term] === file ||
+ (terms[term] || []).includes(file) ||
+ (titleTerms[term] || []).includes(file)
+ )
+ )
+ break;
+
+ // select one (max) score for the file.
+ const score = Math.max(...wordList.map((w) => scoreMap.get(file)[w]));
+ // add result to the result list
+ results.push([
+ docNames[file],
+ titles[file],
+ "",
+ null,
+ score,
+ filenames[file],
+ SearchResultKind.text,
+ ]);
+ }
+ return results;
+ },
+
+ /**
+ * helper function to return a node containing the
+ * search summary for a given text. keywords is a list
+ * of stemmed words.
+ */
+ makeSearchSummary: (htmlText, keywords, anchor) => {
+ const text = Search.htmlToText(htmlText, anchor);
+ if (text === "") return null;
+
+ const textLower = text.toLowerCase();
+ const actualStartPosition = [...keywords]
+ .map((k) => textLower.indexOf(k.toLowerCase()))
+ .filter((i) => i > -1)
+ .slice(-1)[0];
+ const startWithContext = Math.max(actualStartPosition - 120, 0);
+
+ const top = startWithContext === 0 ? "" : "...";
+ const tail = startWithContext + 240 < text.length ? "..." : "";
+
+ let summary = document.createElement("p");
+ summary.classList.add("context");
+ summary.textContent = top + text.substr(startWithContext, 240).trim() + tail;
+
+ return summary;
+ },
+};
+
+_ready(Search.init);
diff --git a/_static/sphinx_highlight.js b/_static/sphinx_highlight.js
new file mode 100644
index 0000000..8a96c69
--- /dev/null
+++ b/_static/sphinx_highlight.js
@@ -0,0 +1,154 @@
+/* Highlighting utilities for Sphinx HTML documentation. */
+"use strict";
+
+const SPHINX_HIGHLIGHT_ENABLED = true
+
+/**
+ * highlight a given string on a node by wrapping it in
+ * span elements with the given class name.
+ */
+const _highlight = (node, addItems, text, className) => {
+ if (node.nodeType === Node.TEXT_NODE) {
+ const val = node.nodeValue;
+ const parent = node.parentNode;
+ const pos = val.toLowerCase().indexOf(text);
+ if (
+ pos >= 0 &&
+ !parent.classList.contains(className) &&
+ !parent.classList.contains("nohighlight")
+ ) {
+ let span;
+
+ const closestNode = parent.closest("body, svg, foreignObject");
+ const isInSVG = closestNode && closestNode.matches("svg");
+ if (isInSVG) {
+ span = document.createElementNS("http://www.w3.org/2000/svg", "tspan");
+ } else {
+ span = document.createElement("span");
+ span.classList.add(className);
+ }
+
+ span.appendChild(document.createTextNode(val.substr(pos, text.length)));
+ const rest = document.createTextNode(val.substr(pos + text.length));
+ parent.insertBefore(
+ span,
+ parent.insertBefore(
+ rest,
+ node.nextSibling
+ )
+ );
+ node.nodeValue = val.substr(0, pos);
+ /* There may be more occurrences of search term in this node. So call this
+ * function recursively on the remaining fragment.
+ */
+ _highlight(rest, addItems, text, className);
+
+ if (isInSVG) {
+ const rect = document.createElementNS(
+ "http://www.w3.org/2000/svg",
+ "rect"
+ );
+ const bbox = parent.getBBox();
+ rect.x.baseVal.value = bbox.x;
+ rect.y.baseVal.value = bbox.y;
+ rect.width.baseVal.value = bbox.width;
+ rect.height.baseVal.value = bbox.height;
+ rect.setAttribute("class", className);
+ addItems.push({ parent: parent, target: rect });
+ }
+ }
+ } else if (node.matches && !node.matches("button, select, textarea")) {
+ node.childNodes.forEach((el) => _highlight(el, addItems, text, className));
+ }
+};
+const _highlightText = (thisNode, text, className) => {
+ let addItems = [];
+ _highlight(thisNode, addItems, text, className);
+ addItems.forEach((obj) =>
+ obj.parent.insertAdjacentElement("beforebegin", obj.target)
+ );
+};
+
+/**
+ * Small JavaScript module for the documentation.
+ */
+const SphinxHighlight = {
+
+ /**
+ * highlight the search words provided in localstorage in the text
+ */
+ highlightSearchWords: () => {
+ if (!SPHINX_HIGHLIGHT_ENABLED) return; // bail if no highlight
+
+ // get and clear terms from localstorage
+ const url = new URL(window.location);
+ const highlight =
+ localStorage.getItem("sphinx_highlight_terms")
+ || url.searchParams.get("highlight")
+ || "";
+ localStorage.removeItem("sphinx_highlight_terms")
+ url.searchParams.delete("highlight");
+ window.history.replaceState({}, "", url);
+
+ // get individual terms from highlight string
+ const terms = highlight.toLowerCase().split(/\s+/).filter(x => x);
+ if (terms.length === 0) return; // nothing to do
+
+ // There should never be more than one element matching "div.body"
+ const divBody = document.querySelectorAll("div.body");
+ const body = divBody.length ? divBody[0] : document.querySelector("body");
+ window.setTimeout(() => {
+ terms.forEach((term) => _highlightText(body, term, "highlighted"));
+ }, 10);
+
+ const searchBox = document.getElementById("searchbox");
+ if (searchBox === null) return;
+ searchBox.appendChild(
+ document
+ .createRange()
+ .createContextualFragment(
+ '
' +
+ '' +
+ _("Hide Search Matches") +
+ "
"
+ )
+ );
+ },
+
+ /**
+ * helper function to hide the search marks again
+ */
+ hideSearchWords: () => {
+ document
+ .querySelectorAll("#searchbox .highlight-link")
+ .forEach((el) => el.remove());
+ document
+ .querySelectorAll("span.highlighted")
+ .forEach((el) => el.classList.remove("highlighted"));
+ localStorage.removeItem("sphinx_highlight_terms")
+ },
+
+ initEscapeListener: () => {
+ // only install a listener if it is really needed
+ if (!DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS) return;
+
+ document.addEventListener("keydown", (event) => {
+ // bail for input elements
+ if (BLACKLISTED_KEY_CONTROL_ELEMENTS.has(document.activeElement.tagName)) return;
+ // bail with special keys
+ if (event.shiftKey || event.altKey || event.ctrlKey || event.metaKey) return;
+ if (DOCUMENTATION_OPTIONS.ENABLE_SEARCH_SHORTCUTS && (event.key === "Escape")) {
+ SphinxHighlight.hideSearchWords();
+ event.preventDefault();
+ }
+ });
+ },
+};
+
+_ready(() => {
+ /* Do not call highlightSearchWords() when we are on the search page.
+ * It will highlight words from the *previous* search query.
+ */
+ if (typeof Search === "undefined") SphinxHighlight.highlightSearchWords();
+ SphinxHighlight.initEscapeListener();
+});
diff --git a/genindex.html b/genindex.html
new file mode 100644
index 0000000..0d16f2e
--- /dev/null
+++ b/genindex.html
@@ -0,0 +1,3020 @@
+
+
+
+
+
+
+
+
Index — pancax 0.0.2 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pancax
+
+
+
+
+
+
+
+
+
+
Index
+
+
+
_
+ |
A
+ |
B
+ |
C
+ |
D
+ |
E
+ |
F
+ |
G
+ |
H
+ |
I
+ |
J
+ |
K
+ |
L
+ |
M
+ |
N
+ |
O
+ |
P
+ |
Q
+ |
R
+ |
S
+ |
T
+ |
U
+ |
V
+ |
W
+ |
X
+ |
Z
+
+
+
_
+
+
+
A
+
+
+
B
+
+
+
C
+
+
+
D
+
+
+
E
+
+
+
F
+
+
+
G
+
+
+
H
+
+
+
I
+
+
+
J
+
+
+
K
+
+
+
L
+
+
+
M
+
+
+
N
+
+
+
O
+
+
+
P
+
+
+ P1 (pancax.constitutive_models.swanson.Swanson attribute)
+
+
+ pancax
+
+
+
+ pancax.bcs
+
+
+
+ pancax.bcs.distance_functions
+
+
+
+ pancax.bcs.essential_bc
+
+
+
+ pancax.bcs.natural_bc
+
+
+
+ pancax.bvps
+
+
+
+ pancax.bvps.biaxial_tension
+
+
+
+ pancax.bvps.simple_shear
+
+
+
+ pancax.bvps.uniaxial_tension
+
+
+
+ pancax.constitutive_models
+
+
+
+ pancax.constitutive_models.base
+
+
+
+ pancax.constitutive_models.blatz_ko
+
+
+
+ pancax.constitutive_models.gent
+
+
+
+ pancax.constitutive_models.neohookean
+
+
+
+ pancax.constitutive_models.properties
+
+
+
+ pancax.constitutive_models.swanson
+
+
+
+ pancax.data
+
+
+
+ pancax.data.full_field_data
+
+
+
+ pancax.data.global_data
+
+
+
+ pancax.domains
+
+
+
+ pancax.domains.base
+
+
+
+ pancax.domains.collocation_domain
+
+
+
+ pancax.domains.delta_pinn_domain
+
+
+
+ pancax.domains.variational_domain
+
+
+
+ pancax.fem
+
+
+
+ pancax.fem.dof_manager
+
+
+
+ pancax.fem.elements
+
+
+
+ pancax.fem.elements.base_element
+
+
+
+ pancax.fem.elements.hex8_element
+
+
+
+ pancax.fem.elements.line_element
+
+
+
+ pancax.fem.elements.quad4_element
+
+
+
+ pancax.fem.elements.quad9_element
+
+
+
+ pancax.fem.elements.simplex_tri_element
+
+
+
+ pancax.fem.elements.tet10_element
+
+
+
+ pancax.fem.elements.tet4_element
+
+
+
+ pancax.fem.function_space
+
+
+
+ pancax.fem.mesh
+
+
+
+ pancax.fem.quadrature_rules
+
+
+
+ pancax.fem.read_exodus_mesh
+
+
+
+ pancax.fem.sparse_matrix_assembler
+
+
+
+ pancax.fem.surface
+
+
+
+ pancax.fem.traction_bc
+
+
+
+ pancax.history_writer
+
+
+
+ pancax.kernels
+
+
+
+ pancax.kernels.base_kernel
+
+
+
+ pancax.kernels.laplace_beltrami
+
+
+
+ pancax.kernels.linear_elasticity
+
+
+
+ pancax.kernels.poisson
+
+
+
+ pancax.kinematics
+
+
+
+ pancax.logging
+
+
+
+ pancax.loss_functions
+
+
+
+ pancax.loss_functions.base_loss_function
+
+
+
+ pancax.loss_functions.bc_loss_functions
+
+
+
+
+
+
+
Q
+
+
+
R
+
+
+
S
+
+
+
T
+
+
+
U
+
+
+
V
+
+
+
W
+
+
+
X
+
+
+
Z
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..c8826d5
--- /dev/null
+++ b/index.html
@@ -0,0 +1,244 @@
+
+
+
+
+
+
+
+
+
Pancax — pancax 0.0.2 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/modules.html b/modules.html
new file mode 100644
index 0000000..3919083
--- /dev/null
+++ b/modules.html
@@ -0,0 +1,441 @@
+
+
+
+
+
+
+
+
+
pancax — pancax 0.0.2 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/objects.inv b/objects.inv
new file mode 100644
index 0000000..76c71fd
Binary files /dev/null and b/objects.inv differ
diff --git a/pancax.bcs.html b/pancax.bcs.html
new file mode 100644
index 0000000..a200a30
--- /dev/null
+++ b/pancax.bcs.html
@@ -0,0 +1,336 @@
+
+
+
+
+
+
+
+
+
pancax.bcs package — pancax 0.0.2 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pancax
+
+
+
+
+
+
+
+
+
+pancax.bcs package
+
+
+pancax.bcs.distance_functions module
+
+
+pancax.bcs.distance_functions. get_edges ( domain , sset_names : List [ str ] ) [source]
+
+
+
+
+pancax.bcs.distance_functions. distance ( x1 , x2 ) [source]
+
+
+
+
+pancax.bcs.distance_functions. line_segment ( x , segment ) [source]
+
+
+
+
+pancax.bcs.distance_functions. distance_function ( domain , ssets , m = 1.0 ) [source]
+
+
+
+
+pancax.bcs.essential_bc module
+
+
+class pancax.bcs.essential_bc. EssentialBC ( nodeSet: str, component: int, function: ~typing.Callable[[~jaxtyping.Float[Array, 'nd'], float], float] | None = <function EssentialBC.<lambda>> ) [source]
+Bases: Module
+
+Parameters:
+
+nodeSet – A name for a nodeset in the mesh
+component – The dof to apply the essential bc to
+function – A function f(x, t) = u that gives the value
+to enforce on the (nodeset, component) of a field.
+This defaults to the zero function
+
+
+
+
+
+nodeSet : str
+
+
+
+
+component : int
+
+
+
+
+function ( t )
+
+
+
+
+coordinates ( mesh ) [source]
+
+
+
+
+__init__ ( nodeSet: str, component: int, function: ~typing.Callable[[~jaxtyping.Float[Array, 'nd'], float], float] | None = <function EssentialBC.<lambda>> ) → None
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+class pancax.bcs.essential_bc. EssentialBCSet ( bcs : List [ pancax.bcs.essential_bc.EssentialBC ] ) [source]
+Bases: Module
+
+
+bcs : List [ EssentialBC ]
+
+
+
+
+__init__ ( bcs : List [ EssentialBC ] ) → None
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+pancax.bcs.natural_bc module
+
+
+class pancax.bcs.natural_bc. NaturalBC ( sideset: str, function: Optional[Callable[[jaxtyping.Float[Array, 'nd'], float], jaxtyping.Float[Array, 'nf']]] = <function NaturalBC.<lambda> at 0x7f76545a3380> ) [source]
+Bases: Module
+
+
+sideset : str
+
+
+
+
+function ( t )
+
+
+
+
+coordinates ( mesh , q_rule_1d ) [source]
+
+
+
+
+normals ( mesh , q_rule_1d ) [source]
+
+
+
+
+__init__ ( sideset: str, function: ~typing.Callable[[~jaxtyping.Float[Array, 'nd'], float], ~jaxtyping.Float[Array, 'nf']] | None = <function NaturalBC.<lambda>> ) → None
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pancax.bvps.html b/pancax.bvps.html
new file mode 100644
index 0000000..9656d4c
--- /dev/null
+++ b/pancax.bvps.html
@@ -0,0 +1,202 @@
+
+
+
+
+
+
+
+
+
pancax.bvps package — pancax 0.0.2 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pancax
+
+
+
+
+
+
+
+
+
+pancax.bvps package
+
+
+pancax.bvps.biaxial_tension module
+
+
+pancax.bvps.biaxial_tension. BiaxialLinearRamp ( final_displacement_x : float , final_displacement_y : float , length_x : float , length_y : float ) [source]
+
+
+
+
+pancax.bvps.simple_shear module
+
+
+pancax.bvps.simple_shear. SimpleShearLinearRamp ( final_displacement : float , length : float , direction : str ) [source]
+
+
+
+
+pancax.bvps.uniaxial_tension module
+
+
+pancax.bvps.uniaxial_tension. UniaxialTensionLinearRamp ( final_displacement : float , length : float , direction : str , n_dimensions : int ) [source]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pancax.constitutive_models.html b/pancax.constitutive_models.html
new file mode 100644
index 0000000..edd098a
--- /dev/null
+++ b/pancax.constitutive_models.html
@@ -0,0 +1,565 @@
+
+
+
+
+
+
+
+
+
pancax.constitutive_models package — pancax 0.0.2 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pancax
+
+
+
+
+
+
+
+
+
+pancax.constitutive_models package
+
+
+pancax.constitutive_models.base module
+
+
+class pancax.constitutive_models.base. BaseConstitutiveModel [source]
+Bases: Module
+
+
+cauchy_stress ( F : Float [ Array , '3 3' ] ) → Float [ Array , '3 3' ] [source]
+
+
+
+
+abstract energy ( F : Float [ Array , '3 3' ] ) → float [source]
+This method returns the algorithmic strain energy density.
+
+
+
+
+invariants ( F : Float [ Array , '3 3' ] ) → Tuple [ float , float , float ] [source]
+
+
+
+
+I1 ( F : Float [ Array , '3 3' ] ) → float [source]
+Calculates the first invariant
+
+Parameters:
+F – the deformation gradient
+
+
+
+\[I_1 = tr\left(\mathbf{F}^T\mathbf{F}\right)\]
+
+
+
+
+I1_bar ( F : Float [ Array , '3 3' ] ) → float [source]
+Calculates the first distortional invariant
+
+Parameters:
+F – the deformation gradient
+
+
+
+\[\bar{I}_1 = J^{-2/3}tr\left(\mathbf{F}^T\mathbf{F}\right)\]
+
+
+
+
+I2 ( F : Float [ Array , '3 3' ] ) → float [source]
+
+
+
+
+I2_bar ( F : Float [ Array , '3 3' ] ) → float [source]
+
+
+
+
+jacobian ( F : Float [ Array , '3 3' ] ) → float [source]
+This simply calculate the jacobian but with guard rails
+to return nonsensical numbers if a non-positive jacobian
+is encountered during training.
+
+Parameters:
+F – the deformation gradient
+
+
+
+\[J = det(\mathbf{F})\]
+
+
+
+
+pk1_stress ( F : Float [ Array , '3 3' ] ) → Float [ Array , '3 3' ] [source]
+
+
+
+
+properties ( ) [source]
+
+
+
+
+__init__ ( ) → None
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+
+pancax.constitutive_models.gent module
+
+
+class pancax.constitutive_models.gent. Gent ( bulk_modulus : BoundedProperty | float , shear_modulus : BoundedProperty | float , Jm_parameter : BoundedProperty | float ) [source]
+Bases: BaseConstitutiveModel
+Gent model with the following model form
+
+\[\psi(\mathbf{F}) = \frac{1}{2}K\left[\frac{1}{2}\left(J^2 - \ln J\right)\right] -
+ \frac{1}{2}GJ_m\ln\left(1 - \frac{\bar{I}_1 - 3}{J_m}\right)\]
+
+
+bulk_modulus : BoundedProperty | float
+
+
+
+
+shear_modulus : BoundedProperty | float
+
+
+
+
+Jm_parameter : BoundedProperty | float
+
+
+
+
+energy ( F ) [source]
+This method returns the algorithmic strain energy density.
+
+
+
+
+__init__ ( bulk_modulus : BoundedProperty | float , shear_modulus : BoundedProperty | float , Jm_parameter : BoundedProperty | float ) → None
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+pancax.constitutive_models.neohookean module
+
+
+class pancax.constitutive_models.neohookean. NeoHookean ( bulk_modulus : BoundedProperty | float , shear_modulus : BoundedProperty | float ) [source]
+Bases: BaseConstitutiveModel
+NeoHookean model with the following model form
+
+\[\psi(\mathbf{F}) = \frac{1}{2}K\left[\frac{1}{2}\left(J^2 - \ln J\right)\right] +
+ \frac{1}{2}G\left(\bar{I}_1 - 3\right)\]
+
+
+bulk_modulus : BoundedProperty | float
+
+
+
+
+shear_modulus : BoundedProperty | float
+
+
+
+
+energy ( F : Float [ Array , '3 3' ] ) → float [source]
+This method returns the algorithmic strain energy density.
+
+
+
+
+__init__ ( bulk_modulus : BoundedProperty | float , shear_modulus : BoundedProperty | float ) → None
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+pancax.constitutive_models.properties module
+
+
+class pancax.constitutive_models.properties. BoundedProperty ( prop_min: float , prop_max: float , key: <function PRNGKey at 0x7f76547353a0> ) [source]
+Bases: Module
+
+
+__init__ ( prop_min : float , prop_max : float , key : PRNGKey ) → None [source]
+
+
+
+
+prop_min : float
+
+
+
+
+prop_max : float
+
+
+
+
+prop_val : float
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+_check_other_type ( other , op_str ) [source]
+
+
+
+
+
+
+pancax.constitutive_models.swanson module
+
+
+class pancax.constitutive_models.swanson. Swanson ( bulk_modulus : BoundedProperty | float , A1 : BoundedProperty | float , P1 : BoundedProperty | float , B1 : BoundedProperty | float , Q1 : BoundedProperty | float , C1 : BoundedProperty | float , R1 : BoundedProperty | float , cutoff_strain : float ) [source]
+Bases: BaseConstitutiveModel
+Swanson model truncated to 4 parameters
+
+\[\psi(\mathbf{F}) = K\left(J\ln J - J + 1\right) +
+ \frac{3}{2}A_1\left(\frac{\bar{I}_1}{3} - 1\right)^{P_1} +
+ \frac{3}{2}C_1\left(\frac{\bar{I}_1}{3} - 1\right)^{R_1}\]
+
+
+bulk_modulus : BoundedProperty | float
+
+
+
+
+A1 : BoundedProperty | float
+
+
+
+
+P1 : BoundedProperty | float
+
+
+
+
+B1 : BoundedProperty | float
+
+
+
+
+Q1 : BoundedProperty | float
+
+
+
+
+C1 : BoundedProperty | float
+
+
+
+
+R1 : BoundedProperty | float
+
+
+
+
+cutoff_strain : float
+
+
+
+
+energy ( F ) [source]
+This method returns the algorithmic strain energy density.
+
+
+
+
+__init__ ( bulk_modulus : BoundedProperty | float , A1 : BoundedProperty | float , P1 : BoundedProperty | float , B1 : BoundedProperty | float , Q1 : BoundedProperty | float , C1 : BoundedProperty | float , R1 : BoundedProperty | float , cutoff_strain : float ) → None
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pancax.data.html b/pancax.data.html
new file mode 100644
index 0000000..d7d1639
--- /dev/null
+++ b/pancax.data.html
@@ -0,0 +1,331 @@
+
+
+
+
+
+
+
+
+
pancax.data package — pancax 0.0.2 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pancax
+
+
+
+
+
+
+
+
+
+pancax.data package
+
+
+pancax.data.full_field_data module
+
+
+class pancax.data.full_field_data. FullFieldData ( data_file : str , input_keys : List [ str ] , output_keys : List [ str ] ) [source]
+Bases: Module
+Data structure to store full field data used as ground truth
+for output fields of a PINN when solving inverse problems.
+
+Parameters:
+
+inputs – Data that serves as inputs to the PINN
+outputs – Data that serves as outputs of the PINN
+n_time_steps – Variable used for book keeping
+
+
+
+
+
+__init__ ( data_file : str , input_keys : List [ str ] , output_keys : List [ str ] ) [source]
+
+
+
+
+inputs : Array
+
+
+
+
+outputs : Array
+
+
+
+
+n_time_steps : int
+
+
+
+
+plot_registration ( domain ) [source]
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+plot_data ( domain , time_step ) [source]
+
+
+
+
+shift_inputs ( x , y , z ) [source]
+
+
+
+
+set_input_component_values ( component , val ) [source]
+
+
+
+
+
+
+pancax.data.global_data module
+
+
+class pancax.data.global_data. GlobalData ( data_file : str , times_key : str , disp_key : str , force_key : str , mesh_file : str , nset_id : int , reaction_dof : int | str , n_time_steps : int , plotting : bool | None = False ) [source]
+Bases: Module
+Data structure that holds global data to be used as
+ground truth for some global field calculated from
+PINN outputs used in inverse modeling training
+
+Parameters:
+
+times – A set of times used to compare to physics calculations
+displacements – Currently hardcoded to use a displacement-force curve TODO
+outputs – Field used as ground truth, hardcoded essentially to a reaction force now
+n_nodes – Book-keeping variable for number of nodes on nodeset to measure global response from
+n_time_steps – Book-keeping variable
+reaction_nodes – Node set nodes for where to measure reaction forces
+reaction_dof – Degree of freedom to use for reaction force calculation
+
+
+
+
+
+__init__ ( data_file : str , times_key : str , disp_key : str , force_key : str , mesh_file : str , nset_id : int , reaction_dof : int | str , n_time_steps : int , plotting : bool | None = False ) [source]
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+times : Array
+
+
+
+
+displacements : Array
+
+
+
+
+outputs : Array
+
+
+
+
+n_nodes : int
+
+
+
+
+n_time_steps : int
+
+
+
+
+reaction_nodes : Array
+
+
+
+
+reaction_dof : int
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pancax.domains.html b/pancax.domains.html
new file mode 100644
index 0000000..4d71ba4
--- /dev/null
+++ b/pancax.domains.html
@@ -0,0 +1,400 @@
+
+
+
+
+
+
+
+
+
pancax.domains package — pancax 0.0.2 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pancax
+
+
+
+
+
+
+
+
+
+pancax.domains package
+
+
+pancax.domains.base module
+
+
+class pancax.domains.base. BaseDomain ( mesh_file : str , times : jaxtyping.Float [ Array , 'nt' ] , p_order : int | None = 1 ) [source]
+Bases: Module
+
+
+__init__ ( mesh_file : str , times : Float [ Array , 'nt' ] , p_order : int | None = 1 ) → None [source]
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+mesh_file : str
+
+
+
+
+mesh : Mesh
+
+
+
+
+coords : Float [ Array , 'nn nd' ]
+
+
+
+
+times : Float [ Array , 'nt' ] | Float [ Array , 'nn 1' ]
+
+
+
+
+
+
+pancax.domains.collocation_domain module
+
+
+class pancax.domains.collocation_domain. CollocationDomain ( mesh_file : str , times : jaxtyping.Float [ Array , 'nt' ] , p_order : int | None = 1 ) [source]
+Bases: BaseDomain
+
+
+mesh_file : str
+
+
+
+
+mesh : Mesh
+
+
+
+
+coords : Float [ Array , 'nn nd' ]
+
+
+
+
+times : Float [ Array , 'nt' ] | Float [ Array , 'nn 1' ]
+
+
+
+
+__init__ ( mesh_file : str , times : Float [ Array , 'nt' ] , p_order : int | None = 1 ) → None [source]
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+pancax.domains.delta_pinn_domain module
+
+
+class pancax.domains.delta_pinn_domain. DeltaPINNDomain ( mesh_file : str , times : jaxtyping.Float [ Array , 'nt' ] , n_eigen_values : int , p_order : int | None = 1 , q_order : int | None = 2 ) [source]
+Bases: VariationalDomain
+
+
+__init__ ( mesh_file : str , times : Float [ Array , 'nt' ] , n_eigen_values : int , p_order : int | None = 1 , q_order : int | None = 2 ) [source]
+
+
+
+
+n_eigen_values : int
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+physics : LaplaceBeltrami
+
+
+
+
+eigen_modes : Float [ Array , 'nn nev' ]
+
+
+
+
+solve_eigen_problem ( ) [source]
+
+
+
+
+
+
+pancax.domains.variational_domain module
+
+
+class pancax.domains.variational_domain. VariationalDomain ( mesh_file : str , times : jaxtyping.Float [ Array , 'nt' ] , p_order : int | None = 1 , q_order : int | None = 2 ) [source]
+Bases: BaseDomain
+
+
+mesh_file : str
+
+
+
+
+mesh : Mesh
+
+
+
+
+coords : Float [ Array , 'nn nd' ]
+
+
+
+
+times : Float [ Array , 'nt' ] | Float [ Array , 'nn 1' ]
+
+
+
+
+__init__ ( mesh_file : str , times : Float [ Array , 'nt' ] , p_order : int | None = 1 , q_order : int | None = 2 ) [source]
+
+
+
+
+conns : Int [ Array , 'ne nnpe' ]
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+dof_manager : DofManager
+
+
+
+
+fspace : FunctionSpace
+
+
+
+
+fspace_centroid : FunctionSpace
+
+
+
+
+update_dof_manager ( dirichlet_bcs , n_dofs ) [source]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pancax.fem.elements.html b/pancax.fem.elements.html
new file mode 100644
index 0000000..5f47a62
--- /dev/null
+++ b/pancax.fem.elements.html
@@ -0,0 +1,742 @@
+
+
+
+
+
+
+
+
+
pancax.fem.elements package — pancax 0.0.2 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pancax
+
+
+
+
+
+
+
+
+
+pancax.fem.elements package
+
+
+pancax.fem.elements.base_element module
+
+
+pancax.fem.elements.base_element. get_lobatto_nodes_1d ( degree ) [source]
+
+
+
+
+pancax.fem.elements.base_element. pascal_triangle_monomials ( degree ) [source]
+
+
+
+
+pancax.fem.elements.base_element. vander1d ( x , degree ) [source]
+
+
+
+
+pancax.fem.elements.base_element. vander2d ( x , degree ) [source]
+
+
+
+
+class pancax.fem.elements.base_element. ShapeFunctions ( values : Float [ Array , 'np nn' ] , gradients : Float [ Array , 'np nd nn' ] ) [source]
+Bases: NamedTuple
+Shape functions and shape function gradients (in the parametric space).
+
+Parameters:
+
+values – Values of the shape functions at a discrete set of points.
+Shape is (nPts, nNodes)
, where nPts
is the number of
+points at which the shame functinos are evaluated, and nNodes
+is the number of nodes in the element (which is equal to the
+number of shape functions).
+gradients – Values of the parametric gradients of the shape functions.
+Shape is (nPts, nDim, nNodes)
, where nDim
is the number
+of spatial dimensions. Line elements are an exception, which
+have shape (nPts, nNdodes)
.
+
+
+
+
+
+values : Float [ Array , 'np nn' ]
+Alias for field number 0
+
+
+
+
+gradients : Float [ Array , 'np nd nn' ]
+Alias for field number 1
+
+
+
+
+_asdict ( )
+Return a new dict which maps field names to their values.
+
+
+
+
+_field_defaults = {}
+
+
+
+
+_fields = ('values', 'gradients')
+
+
+
+
+classmethod _make ( iterable )
+Make a new ShapeFunctions object from a sequence or iterable
+
+
+
+
+_replace ( ** kwds )
+Return a new ShapeFunctions object replacing specified fields with new values
+
+
+
+
+
+
+class pancax.fem.elements.base_element. BaseElement ( elementType : str , degree : int , coordinates : Float [ Array , 'nn nd' ] , vertexNodes : Int [ Array , 'nn' ] , faceNodes : Int [ Array , 'nf nnpf' ] , interiorNodes : Int [ Array , 'nni' ] ) [source]
+Bases: Module
+Base class for different element technologies
+
+Parameters:
+
+elementType – Element type name
+degree – Polynomial degree
+coordinates – Nodal coordinates in the reference configuration
+vertexNodes – Vertex node number, 0-based
+faceNodes – Nodes associated with each face, 0-based
+interiorNodes – Nodes in the interior, 0-based or empty
+
+
+
+
+
+elementType : str
+
+
+
+
+degree : int
+
+
+
+
+coordinates : Float [ Array , 'nn nd' ]
+
+
+
+
+vertexNodes : Int [ Array , 'nn' ]
+
+
+
+
+faceNodes : Int [ Array , 'nf nnpf' ]
+
+
+
+
+interiorNodes : Int [ Array , 'nni' ]
+
+
+
+
+abstract compute_shapes ( nodalPoints , evaluationPoints ) [source]
+Method to be defined to calculate shape function values
+and gradients given a list of nodal points (usually the vertexNodes)
+and a list of evaluation points (usually the quadrature points).
+
+
+
+
+__init__ ( elementType : str , degree : int , coordinates : Float [ Array , 'nn nd' ] , vertexNodes : Int [ Array , 'nn' ] , faceNodes : Int [ Array , 'nf nnpf' ] , interiorNodes : Int [ Array , 'nni' ] ) → None
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+pancax.fem.elements.hex8_element module
+
+
+class pancax.fem.elements.hex8_element. Hex8Element [source]
+Bases: BaseElement
+
+
+elementType : str = 'hex8'
+
+
+
+
+degree : int = 1
+
+
+
+
+coordinates : Float [ Array , 'nn nd' ] = Array([[-1., -1., -1.], [ 1., -1., -1.], [ 1., 1., -1.], [-1., 1., -1.], [-1., -1., 1.], [ 1., -1., 1.], [ 1., 1., 1.], [-1., 1., 1.]], dtype=float32)
+
+
+
+
+vertexNodes : Int [ Array , 'nn' ] = Array([0, 1, 2, 3, 4, 5, 6, 7], dtype=int32)
+
+
+
+
+faceNodes : Int [ Array , 'nf nnpf' ] = Array([[0, 1, 5, 6], [1, 2, 6, 5], [2, 3, 7, 6], [0, 4, 7, 3], [0, 3, 2, 1], [4, 5, 6, 7]], dtype=int32)
+
+
+
+
+interiorNodes : Int [ Array , 'nni' ] = None
+
+
+
+
+__init__ ( ) [source]
+
+
+
+
+compute_shapes ( nodalPoints , evaluationPoints ) [source]
+Method to be defined to calculate shape function values
+and gradients given a list of nodal points (usually the vertexNodes)
+and a list of evaluation points (usually the quadrature points).
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+pancax.fem.elements.line_element module
+
+
+class pancax.fem.elements.line_element. LineElement ( degree ) [source]
+Bases: BaseElement
+
+
+elementType : str = 'line'
+
+
+
+
+faceNodes : Int [ Array , 'nf nnpf' ] = None
+
+
+
+
+__init__ ( degree ) [source]
+
+
+
+
+degree : int
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+coordinates : Float [ Array , 'nn nd' ]
+
+
+
+
+vertexNodes : any
+
+
+
+
+interiorNodes : any
+
+
+
+
+compute_shapes ( nodalPoints , evaluationPoints ) [source]
+Method to be defined to calculate shape function values
+and gradients given a list of nodal points (usually the vertexNodes)
+and a list of evaluation points (usually the quadrature points).
+
+
+
+
+
+
+pancax.fem.elements.quad4_element module
+
+
+class pancax.fem.elements.quad4_element. Quad4Element [source]
+Bases: BaseElement
+
+
+elementType : str = 'quad4'
+
+
+
+
+degree : int = 1
+
+
+
+
+coordinates : Float [ Array , 'nn nd' ] = Array([[-1., -1.], [ 1., -1.], [ 1., 1.], [-1., 1.]], dtype=float32)
+
+
+
+
+vertexNodes : Int [ Array , 'nn' ] = Array([0, 1, 2], dtype=int32)
+
+
+
+
+faceNodes : Int [ Array , 'nf nnpf' ] = Array([[0, 1], [1, 2], [2, 3], [3, 0]], dtype=int32)
+
+
+
+
+interiorNodes : Int [ Array , 'nni' ] = None
+
+
+
+
+__init__ ( ) [source]
+
+
+
+
+compute_shapes ( nodalPoints , evaluationPoints ) [source]
+Method to be defined to calculate shape function values
+and gradients given a list of nodal points (usually the vertexNodes)
+and a list of evaluation points (usually the quadrature points).
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+pancax.fem.elements.quad9_element module
+
+
+class pancax.fem.elements.quad9_element. Quad9Element [source]
+Bases: BaseElement
+
+
+elementType : str = 'quad9'
+
+
+
+
+degree : int = 2
+
+
+
+
+coordinates : Float [ Array , 'nn nd' ] = Array([[-1., -1.], [ 1., -1.], [ 1., 1.], [-1., 1.], [ 0., -1.], [ 1., 0.], [ 0., 1.], [-1., 0.], [ 0., 0.]], dtype=float32)
+
+
+
+
+vertexNodes : Int [ Array , 'nn' ] = Array([0, 1, 2, 3, 4, 5, 6, 7], dtype=int32)
+
+
+
+
+faceNodes : Int [ Array , 'nf nnpf' ] = Array([[0, 4, 1], [1, 5, 2], [2, 6, 3], [3, 7, 0]], dtype=int32)
+
+
+
+
+interiorNodes : Int [ Array , 'nni' ] = Array([8], dtype=int32)
+
+
+
+
+__init__ ( ) [source]
+
+
+
+
+compute_shapes ( nodalPoints , evaluationPoints ) [source]
+Method to be defined to calculate shape function values
+and gradients given a list of nodal points (usually the vertexNodes)
+and a list of evaluation points (usually the quadrature points).
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+pancax.fem.elements.simplex_tri_element module
+
+
+class pancax.fem.elements.simplex_tri_element. SimplexTriElement ( degree ) [source]
+Bases: BaseElement
+
+
+elementType : str = 'simplex tri'
+
+
+
+
+__init__ ( degree ) [source]
+
+
+
+
+degree : int
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+coordinates : Float [ Array , 'nn nd' ]
+
+
+
+
+vertexNodes : any
+
+
+
+
+faceNodes : any
+
+
+
+
+interiorNodes : any
+
+
+
+
+compute_shapes ( nodalPoints , evaluationPoints ) [source]
+Method to be defined to calculate shape function values
+and gradients given a list of nodal points (usually the vertexNodes)
+and a list of evaluation points (usually the quadrature points).
+
+
+
+
+
+
+pancax.fem.elements.tet10_element module
+
+
+class pancax.fem.elements.tet10_element. Tet10Element [source]
+Bases: BaseElement
+
+
+elementType : str = 'tet10'
+
+
+
+
+degree : int = 2
+
+
+
+
+coordinates : Float [ Array , 'nn nd' ] = Array([[0. , 0. , 0. ], [1. , 0. , 0. ], [0. , 1. , 0. ], [0. , 0. , 1. ], [0.5, 0. , 0. ], [0.5, 0.5, 0. ], [0. , 0.5, 0. ], [0. , 0. , 0.5], [0.5, 0. , 0.5], [0. , 0.5, 0.5]], dtype=float32)
+
+
+
+
+vertexNodes : Int [ Array , 'nn' ] = Array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], dtype=int32)
+
+
+
+
+faceNodes : Int [ Array , 'nf nnpf' ] = Array([[0, 4, 1, 8, 3, 7], [1, 5, 2, 9, 3, 7], [0, 7, 3, 9, 2, 6], [0, 6, 2, 5, 1, 4]], dtype=int32)
+
+
+
+
+interiorNodes : Int [ Array , 'nni' ] = None
+
+
+
+
+__init__ ( ) [source]
+
+
+
+
+compute_shapes ( nodalPoints , evaluationPoints ) [source]
+Method to be defined to calculate shape function values
+and gradients given a list of nodal points (usually the vertexNodes)
+and a list of evaluation points (usually the quadrature points).
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+pancax.fem.elements.tet4_element module
+
+
+class pancax.fem.elements.tet4_element. Tet4Element [source]
+Bases: BaseElement
+
+
+elementType : str = 'tet4'
+
+
+
+
+degree : int = 1
+
+
+
+
+coordinates : Float [ Array , 'nn nd' ] = Array([[0., 0., 0.], [1., 0., 0.], [0., 1., 0.], [0., 0., 1.]], dtype=float32)
+
+
+
+
+vertexNodes : Int [ Array , 'nn' ] = Array([0, 1, 2, 3], dtype=int32)
+
+
+
+
+faceNodes : Int [ Array , 'nf nnpf' ] = Array([[0, 1, 3], [1, 2, 3], [0, 3, 2], [0, 2, 1]], dtype=int32)
+
+
+
+
+interiorNodes : Int [ Array , 'nni' ] = None
+
+
+
+
+__init__ ( ) [source]
+
+
+
+
+compute_shapes ( nodalPoints , evaluationPoints ) [source]
+Method to be defined to calculate shape function values
+and gradients given a list of nodal points (usually the vertexNodes)
+and a list of evaluation points (usually the quadrature points).
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pancax.fem.html b/pancax.fem.html
new file mode 100644
index 0000000..177783e
--- /dev/null
+++ b/pancax.fem.html
@@ -0,0 +1,1491 @@
+
+
+
+
+
+
+
+
+
pancax.fem package — pancax 0.0.2 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pancax
+
+
+
+
+
+
+
+
+
+pancax.fem package
+
+
+
+pancax.fem.dof_manager module
+
+
+class pancax.fem.dof_manager. DofManager ( mesh , dim : int , EssentialBCs : List [ EssentialBC ] ) [source]
+Bases: object
+Collection of arrays needed to differentiate between
+fixed and free dofs for fem like calculations.
+TODO better document the parameters in this guy
+
+
+__init__ ( mesh , dim : int , EssentialBCs : List [ EssentialBC ] ) → None [source]
+
+Parameters:
+
+functionSpace – FunctionSpace
object
+dim – The number of dims (really the number of active dofs for the physics)
+EssentialBCs – A list of of EssentialBC
objects
+
+
+
+
+
+
+
+get_bc_size ( ) → int [source]
+
+Returns:
+the number of fixed dofs
+
+
+
+
+
+
+get_unknown_size ( ) → int [source]
+
+Returns:
+the size of the unkowns vector
+
+
+
+
+
+
+create_field ( Uu , Ubc = 0.0 ) → Float [ Array , 'nn nd' ] [source]
+
+Parameters:
+
+
+Returns:
+U, a field of unknowns and bcs combined.
+
+
+
+
+
+
+get_bc_values ( U ) → Float [ Array , 'nb' ] [source]
+
+Parameters:
+U – a nodal field
+
+Returns:
+the bc values in the field U
+
+
+
+
+
+
+get_unknown_values ( U ) → Float [ Array , 'nu' ] [source]
+
+Parameters:
+U – a nodal field
+
+Returns:
+the unknown values in the field U
+
+
+
+
+
+
+slice_unknowns_with_dof_indices ( Uu : Float [ Array , 'nu' ] , dofIndexSlice : Int [ Array , 'nn' ] ) → Float [ Array , 'nu_new' ] [source]
+
+
+
+
+_make_hessian_coordinates ( conns : Int [ Array , 'ne nnpe' ] ) → Tuple [ Int [ Array , 'nn' ] , Int [ Array , 'nn' ] ] [source]
+
+
+
+
+_make_hessian_bc_mask ( conns : Int [ Array , 'ne nnpe' ] ) → Bool [ Array , 'ne ndpe ndpe' ] [source]
+
+
+
+
+
+
+pancax.fem.function_space module
+
+
+class pancax.fem.function_space. NonAllocatedFunctionSpace ( mesh : pancax.fem.mesh.Mesh , q_rule : pancax.fem.quadrature_rules.QuadratureRule ) [source]
+Bases: Module
+
+
+__init__ ( mesh : Mesh , q_rule : QuadratureRule ) → None [source]
+
+
+
+
+quadrature_rule : QuadratureRule
+
+
+
+
+shape_functions : ShapeFunctions
+
+
+
+
+compute_field_gradient ( u , X ) [source]
+Takes in element level coordinates X and field u
+
+
+
+
+evaluate_on_element ( U , X , state , dt , props , func ) [source]
+Takes in element level field, coordinates, states, etc.
+and evaluates the function func
+
+
+
+
+integrate_on_element ( U , X , state , dt , props , func ) [source]
+
+
+
+
+integrate_on_elements ( U , X , state , dt , props , func ) [source]
+
+
+
+
+JxWs ( X : Float [ Array , 'nn nd' ] ) → Float [ Array , 'nq' ] [source]
+
+
+
+
+shape_function_values ( X : Float [ Array , 'nn nd' ] ) → Float [ Array , 'nq nnpe' ] [source]
+
+
+
+
+shape_function_gradients ( X : Float [ Array , 'nn nd' ] ) → Float [ Array , 'nq nnpe nd' ] [source]
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+class pancax.fem.function_space. FunctionSpace ( shapes : Float [ Array , 'ne nqpe npe' ] , vols : Float [ Array , 'ne nqpe' ] , shapeGrads : Float [ Array , 'ne nqpe npe nd' ] , conns : Int [ Array , 'ne nnpe' ] , quadratureRule : QuadratureRule , isAxisymmetric : bool ) [source]
+Bases: Module
+Data needed for calculus on functions in the discrete function space.
+In describing the shape of the attributes, ne
is the number of
+elements in the mesh, nqpe
is the number of quadrature points per
+element, npe
is the number of nodes per element, and nd
is the
+spatial dimension of the domain.
+
+Parameters:
+
+shapes – Shape function values on each element, shape (ne, nqpe, npe)
+vols – Volume attributed to each quadrature point. That is, the
+quadrature weight (on the parameteric element domain) multiplied by
+the Jacobian determinant of the map from the parent element to the
+element in the domain. Shape (ne, nqpe).
+shapeGrads – Derivatives of the shape functions with respect to the
+spatial coordinates of the domain. Shape (ne, nqpe, npe, nd).
+mesh – The Mesh
object of the domain.
+quadratureRule – The QuadratureRule
on which to sample the shape
+functions.
+isAxisymmetric – boolean indicating if the function space data are
+axisymmetric.
+
+
+
+
+
+shapes : Float [ Array , 'ne nqpe npe' ]
+
+
+
+
+vols : Float [ Array , 'ne nqpe' ]
+
+
+
+
+shapeGrads : Float [ Array , 'ne nqpe npe nd' ]
+
+
+
+
+conns : Int [ Array , 'ne nnpe' ]
+
+
+
+
+quadratureRule : QuadratureRule
+
+
+
+
+isAxisymmetric : bool
+
+
+
+
+__init__ ( shapes : Float [ Array , 'ne nqpe npe' ] , vols : Float [ Array , 'ne nqpe' ] , shapeGrads : Float [ Array , 'ne nqpe npe nd' ] , conns : Int [ Array , 'ne nnpe' ] , quadratureRule : QuadratureRule , isAxisymmetric : bool ) → None
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+pancax.fem.function_space. construct_function_space ( mesh , quadratureRule , mode2D = 'cartesian' ) [source]
+Construct a discrete function space.
+:param :
+:type : param mesh: The mesh of the domain.
+:param :
+:type : param quadratureRule: The quadrature rule to be used for integrating on the
+:param domain.:
+:param :
+:type : param mode2D: A string indicating how the 2D domain is interpreted for
+:param integration. Valid values are cartesian
and axisymmetric
.:
+:param Axisymetric mode will include the factor of 2*pi*r in the vols
:
+:param attribute.:
+
+Return type:
+The FunctionSpace
object.
+
+
+
+
+
+
+pancax.fem.function_space. construct_function_space_from_parent_element ( mesh , shapeOnRef , quadratureRule , mode2D = 'cartesian' ) [source]
+Construct a function space with precomputed shape function data on the parent element.
+This version of the function space constructor is Jax-transformable,
+and in particular can be jitted. The computation of the shape function
+values and derivatives on the parent element is not transformable in
+general. However, the mapping of the shape function data to the elements in
+the mesh is transformable. One can precompute the parent element shape
+functions once and for all, and then use this special factory function to
+construct the function space and avoid the non-transformable part of the
+operation. The primary use case is for shape sensitivities: the coordinates
+of the mesh change, and we want Jax to pick up the sensitivities of the
+shape function derivatives in space to the coordinate changes
+(which occurs through the mapping from the parent element to the spatial
+domain).
+:param :
+:type : param mesh: The mesh of the domain.
+:param :
+:type : param shapeOnRef: A tuple of the shape function values and gradients on the
+:param parent element:
+:param evaluated at the quadrature points. The caller must:
+:param take care to ensure the shape functions are evaluated at the same:
+:param points as contained in the quadratureRule
parameter.:
+:param : domain.
+:type : param quadratureRule: The quadrature rule to be used for integrating on the
+:param :
+:type : param mode2D: A string indicating how the 2D domain is interpreted for
+:param integration. See the default factory function for details.:
+
+Return type:
+The FunctionSpace
object.
+
+
+
+
+
+
+pancax.fem.function_space. map_element_shape_grads ( coordField , nodeOrdinals , parentElement , shapeGradients ) [source]
+
+
+
+
+pancax.fem.function_space. compute_element_volumes ( coordField , nodeOrdinals , parentElement , shapes , shapeGradients , weights ) [source]
+
+
+
+
+pancax.fem.function_space. compute_element_volumes_axisymmetric ( coordField , nodeOrdinals , parentElement , shapes , shapeGradients , weights ) [source]
+
+
+
+
+pancax.fem.function_space. default_modify_element_gradient ( elemGrads , elemShapes , elemVols , elemNodalDisps , elemNodalCoords ) [source]
+
+
+
+
+pancax.fem.function_space. compute_field_gradient ( functionSpace , nodalField , nodalCoords , modify_element_gradient=<function default_modify_element_gradient> ) [source]
+
+
+
+
+pancax.fem.function_space. interpolate_to_points ( functionSpace , nodalField ) [source]
+
+
+
+
+pancax.fem.function_space. integrate_over_block ( functionSpace , U , X , stateVars , props , dt , func , block , *params , modify_element_gradient=<function default_modify_element_gradient> ) [source]
+Integrates a density function over a block of the mesh.
+
+Parameters:
+
+functionSpace – Function space object to do the integration with.
+U – The vector of dofs for the primal field in the functional.
+X – Nodal coordinates
+stateVars – Internal state variable array.
+dt – Current time increment
+func – Lagrangian density function to integrate, Must have the signature
+func(u, dudx, q, x, *params) -> scalar
, where u
is the primal field, q
is the
+value of the internal variables, x
is the current point coordinates, and *params
is
+a variadic set of additional parameters, which correspond to the *params
argument.
+block: Group of elements to integrate over. This is an array of element indices. For
+performance, the elements within the block should be numbered consecutively.
+modify_element_gradient – Optional function that modifies the gradient at the element level.
+This can be to set the particular 2D mode, and additionally to enforce volume averaging
+on the gradient operator. This is a keyword-only argument.
+
+
+
+Returns
+A scalar value for the integral of the density functional func
integrated over the
+block of elements.
+
+
+
+
+pancax.fem.function_space. evaluate_on_block ( functionSpace , U , X , stateVars , dt , props , func , block , *params , modify_element_gradient=<function default_modify_element_gradient> ) [source]
+Evaluates a density function at every quadrature point in a block of the mesh.
+
+Parameters:
+
+functionSpace – Function space object to do the evaluation with.
+U – The vector of dofs for the primal field in the functional.
+X – Nodal coordinates
+stateVars – Internal state variable array.
+dt – Current time increment
+func – Lagrangian density function to evaluate, Must have the signature
+`func(u, dudx, q, x, *params) -> scalar`
, where `u`
is the primal field, `q`
is the
+value of the internal variables, `x`
is the current point coordinates, and `*params`
is
+a variadic set of additional parameters, which correspond to the `*params`
argument.
+block – Group of elements to evaluate over. This is an array of element indices. For
+performance, the elements within the block should be numbered consecutively.
+modify_element_gradient – Optional function that modifies the gradient at the element level.
+This can be to set the particular 2D mode, and additionally to enforce volume averaging
+on the gradient operator. This is a keyword-only argument.
+
+
+
+Returns
+An array of shape (numElements, numQuadPtsPerElement) that contains the scalar values of the
+density functional `func`
at every quadrature point in the block.
+
+
+
+
+pancax.fem.function_space. integrate_element_from_local_field ( elemNodalField , elemNodalCoords , elemStates , dt , elemShapes , elemShapeGrads , elemVols , func , modify_element_gradient=<function default_modify_element_gradient> ) [source]
+Integrate over element with element nodal field as input.
+This allows element residuals and element stiffness matrices to computed.
+
+
+
+
+pancax.fem.function_space. compute_element_field_gradient ( U , coords , elemShapes , elemShapeGrads , elemVols , elemConnectivity , modify_element_gradient ) [source]
+
+
+
+
+pancax.fem.function_space. compute_quadrature_point_field_gradient ( u , shapeGrad ) [source]
+
+
+
+
+pancax.fem.function_space. interpolate_to_point ( elementNodalValues , shape ) [source]
+
+
+
+
+pancax.fem.function_space. interpolate_to_element_points ( U , elemShapes , elemConnectivity ) [source]
+
+
+
+
+pancax.fem.function_space. integrate_element ( U , coords , elemStates , elemShapes , elemShapeGrads , elemVols , elemConn , func , modify_element_gradient ) [source]
+
+
+
+
+pancax.fem.function_space. evaluate_on_element ( U , coords , elemStates , props , dt , elemShapes , elemShapeGrads , elemVols , elemConn , kernelFunc , modify_element_gradient , * params ) [source]
+
+
+
+
+pancax.fem.function_space. project_quadrature_field_to_element_field ( functionSpace , quadField ) [source]
+
+
+
+
+pancax.fem.function_space. average_quadrature_field_over_element ( elemQPData , vols ) [source]
+
+
+
+
+pancax.fem.function_space. get_nodal_values_on_edge ( functionSpace , nodalField , edge ) [source]
+Get nodal values of a field on an element edge.
+
+Parameters:
+
+functionSpace – a FunctionSpace object
+nodalField – The nodal vector defined over the mesh (shape is number of
+nodes by number of field components)
+edge – tuple containing the element number containing the edge and the
+permutation (0, 1, or 2) of the edge within the triangle
+
+
+
+
+
+
+
+pancax.fem.function_space. interpolate_nodal_field_on_edge ( functionSpace , U , interpolationPoints , edge ) [source]
+Interpolate a nodal field to specified points on an element edge.
+
+Parameters:
+
+functionSpace – a FunctionSpace object
+U – the nodal values array
+interpolationPoints – coordinates of points (in the 1D parametric space) to
+interpolate to
+edge – tuple containing the element number containing the edge and the
+permutation (0, 1, or 2) of the edge within the triangle
+
+
+
+
+
+
+
+pancax.fem.function_space. integrate_function_on_edge ( functionSpace , func , U , quadRule , edge ) [source]
+
+
+
+
+pancax.fem.function_space. integrate_function_on_edges ( functionSpace , func , U , quadRule , edges ) [source]
+
+
+
+
+pancax.fem.mesh module
+
+
+class pancax.fem.mesh. Mesh ( coords : Float [ Array , 'nn nd' ] , conns : Float [ Array , 'ne nnpe' ] , simplexNodesOrdinals : Float [ Array , 'ne 3' ] , parentElement : any , parentElement1d : any , blocks : Dict [ str , Float ] | None = None , nodeSets : Dict [ str , Float ] | None = None , sideSets : Dict [ str , Float ] | None = None ) [source]
+Bases: Module
+Triangle mesh representing a domain.
+
+Parameters:
+
+coords – Coordinates of the nodes, shape (nNodes, nDim)
.
+conns – Nodal connectivity table of the elements.
+simplexNodesOrdinals – Indices of the nodes that are vertices.
+parentElement – A ParentElement
that is the element type in
+parametric space. A mesh can contain only 1 element type.
+parentElement1d
+blocks – A dictionary mapping element block names to the indices of the
+elements in the block.
+nodeSets – A dictionary mapping node set names to the indices of the
+nodes.
+sideSets – A dictionary mapping side set names to the edges. The
+edge data structure is a tuple of the element index and the local
+number of the edge within that element. For example, triangle
+elements will have edge 0, 1, or 2 for this entry.
+
+
+
+
+
+coords : Float [ Array , 'nn nd' ]
+
+
+
+
+conns : Float [ Array , 'ne nnpe' ]
+
+
+
+
+simplexNodesOrdinals : Float [ Array , 'ne 3' ]
+
+
+
+
+parentElement : any
+
+
+
+
+parentElement1d : any
+
+
+
+
+blocks : Dict [ str , Float ] | None = None
+
+
+
+
+nodeSets : Dict [ str , Float ] | None = None
+
+
+
+
+sideSets : Dict [ str , Float ] | None = None
+
+
+
+
+get_blocks ( blockNames : List [ str ] ) [source]
+
+
+
+
+property num_dimensions : int
+dimension number of mesh
+
+Type:
+return
+
+
+
+
+
+
+property num_elements : int
+number of elements in mesh
+
+Type:
+return
+
+
+
+
+
+
+property num_nodes : int
+number of nodes in mesh
+
+
+
+
+__init__ ( coords : Float [ Array , 'nn nd' ] , conns : Float [ Array , 'ne nnpe' ] , simplexNodesOrdinals : Float [ Array , 'ne 3' ] , parentElement : any , parentElement1d : any , blocks : Dict [ str , Float ] | None = None , nodeSets : Dict [ str , Float ] | None = None , sideSets : Dict [ str , Float ] | None = None ) → None
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+pancax.fem.mesh. create_structured_mesh_data ( Nx , Ny , xExtent , yExtent ) [source]
+
+
+
+
+pancax.fem.mesh. construct_mesh_from_basic_data ( coords , conns , blocks , nodeSets = None , sideSets = None ) [source]
+
+
+
+
+pancax.fem.mesh. construct_structured_mesh ( Nx , Ny , xExtent , yExtent , elementOrder = 1 , useBubbleElement = False ) [source]
+
+
+
+
+pancax.fem.mesh. combine_nodesets ( set1 , set2 , nodeOffset ) [source]
+
+
+
+
+pancax.fem.mesh. combine_sidesets ( set1 , set2 , elemOffset ) [source]
+
+
+
+
+pancax.fem.mesh. combine_blocks ( set1 , set2 , elemOffset ) [source]
+
+
+
+
+pancax.fem.mesh. combine_mesh ( m1 , m2 ) [source]
+
+
+
+
+pancax.fem.mesh. mesh_with_coords ( mesh , coords ) [source]
+
+
+
+
+pancax.fem.mesh. mesh_with_nodesets ( mesh , nodeSets ) [source]
+
+
+
+
+pancax.fem.mesh. mesh_with_blocks ( mesh , blocks ) [source]
+
+
+
+
+pancax.fem.mesh. create_edges ( conns ) [source]
+Generate topological information about edges in a triangulation.
+
+Parameters:
+conns (( nTriangles , 3 ) array ) – Connectivity table of the triangulation.
+
+Returns:
+
+edgeConns ((nEdges, 2) array ) – Vertices of each edge. Boundary edges are always in the
+counter-clockwise sense, so that the interior of the body is on the left
+side when walking from the first vertex to the second.
+edges ((nEdges, 4) array ) – Edge-to-triangle topological information. Each row provides the
+follwing information for each edge: [leftT, leftP, rightT, rightP],
+where leftT is the ID of the triangle to the left, leftP is the
+permutation of the edge in the left triangle (edge 0, 1, or 2), rightT
+is the ID of the triangle to the right, and rightP is the permutation
+of the edge in the right triangle. If the edge is a boundary edge, the
+values of rightT and rightP are -1.
+
+
+
+
+
+
+
+
+pancax.fem.mesh. create_higher_order_mesh_from_simplex_mesh ( mesh , order , useBubbleElement = False , copyNodeSets = False , createNodeSetsFromSideSets = False ) [source]
+
+
+
+
+pancax.fem.mesh. create_nodesets_from_sidesets ( mesh ) [source]
+
+
+
+
+pancax.fem.mesh. num_nodes ( mesh ) [source]
+
+
+
+
+pancax.fem.mesh. get_edge_node_indices ( mesh : Mesh , edge ) [source]
+
+
+
+
+pancax.fem.mesh. get_edge_field ( mesh : Mesh , edge , field ) [source]
+Evaluate field on nodes of an element edge.
+Arguments:
+
+Parameters:
+
+
+
+
+
+
+
+pancax.fem.mesh. get_edge_coords ( mesh : Mesh , edge ) [source]
+
+
+
+
+pancax.fem.mesh. compute_edge_vectors ( mesh : Mesh , edgeCoords ) [source]
+Get geometric vectors for an element edge.
+Assumes that the edgs has a constant shape jacobian, that is, the
+transformation from the parent element is affine.
+Arguments
+:param mesh: a Mesh object
+:param edgeCoords: coordinates of all nodes on the edge, in the order
+defined by the 1D parent element convention
+Returns
+tuple (t, n, j) with
+:return t: the unit tangent vector
+:return n: the outward unit normal vector
+:return j: jacobian of the transformation from parent to physical space
+
+
+
+
+pancax.fem.quadrature_rules module
+
+
+class pancax.fem.quadrature_rules. QuadratureRule ( parentElement : BaseElement , degree : int ) [source]
+Bases: Module
+Quadrature rule points and weights.
+A namedtuple
containing xigauss
, a numpy array of the
+coordinates of the sample points in the reference domain, and
+wgauss
, a numpy array with the weights.
+
+Parameters:
+
+
+
+
+
+__init__ ( parentElement : BaseElement , degree : int ) → None [source]
+
+
+
+
+xigauss : Float [ Array , 'nq nd' ]
+
+
+
+
+wgauss : Float [ Array , 'nq' ]
+
+
+
+
+eval_at_iso_points ( field ) [source]
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+pancax.fem.quadrature_rules. create_quadrature_rule_1D ( degree : int ) → QuadratureRule [source]
+Creates a Gauss-Legendre quadrature on the unit interval.
+The rule can exactly integrate polynomials of degree up to
+degree
.
+
+Parameters:
+degree (Highest degree polynomial to be exactly integrated by the quadrature rule )
+
+Returns:
+
+
+
+
+
+
+
+
+pancax.fem.quadrature_rules. eval_at_iso_points ( xigauss , field ) [source]
+
+
+
+
+pancax.fem.quadrature_rules. create_quadrature_rule_on_hex ( quad_degree : int ) → QuadratureRule [source]
+
+
+
+
+pancax.fem.quadrature_rules. create_quadrature_rule_on_quad ( quad_degree : int ) → QuadratureRule [source]
+
+Parameters:
+quad_degree – degree of quadrature rule to create
+
+
+
+
+
+
+pancax.fem.quadrature_rules. create_quadrature_rule_on_tet ( degree : int ) → QuadratureRule [source]
+
+
+
+
+pancax.fem.quadrature_rules. create_quadrature_rule_on_triangle ( degree : int ) → QuadratureRule [source]
+Creates a Gauss-Legendre quadrature on the unit triangle.
+The rule can exactly integrate 2D polynomials up to the value of
+degree
. The domain is the triangle between the vertices
+(0, 0)-(1, 0)-(0, 1). The rules here are guaranteed to be
+cyclically symmetric in triangular coordinates and to have strictly
+positive weights.
+
+Parameters:
+degree (Highest degree polynomial to be exactly integrated by the quadrature rule )
+
+Returns:
+
+
+
+
+
+
+
+
+pancax.fem.quadrature_rules. create_padded_quadrature_rule_1D ( degree ) [source]
+Creates 1D Gauss quadrature rule data that are padded to maintain a
+uniform size, which makes this function jit-able.
+This function is inteded to be used only when jit compilation of calls to the
+quadrature rules are needed. Otherwise, prefer to use the standard quadrature
+rules. The standard rules do not contain extra 0s for padding, which makes
+them more efficient when used repeatedly (such as in the global energy).
+
+Parameters:
+degree – degree of highest polynomial to be integrated exactly
+
+
+
+
+
+
+pancax.fem.quadrature_rules. _gauss_quad_1D_1pt ( _ ) [source]
+
+
+
+
+pancax.fem.quadrature_rules. _gauss_quad_1D_2pt ( _ ) [source]
+
+
+
+
+pancax.fem.quadrature_rules. _gauss_quad_1D_3pt ( _ ) [source]
+
+
+
+
+pancax.fem.quadrature_rules. _gauss_quad_1D_4pt ( _ ) [source]
+
+
+
+
+pancax.fem.quadrature_rules. _gauss_quad_1D_5pt ( _ ) [source]
+
+
+
+
+pancax.fem.read_exodus_mesh module
+
+
+pancax.fem.read_exodus_mesh. read_exodus_mesh ( fileName : str ) [source]
+
+Parameters:
+fileName – file name of exodus mesh to read
+
+Returns:
+A mesh object
+
+
+
+
+
+
+pancax.fem.read_exodus_mesh. _read_coordinates ( exodusDataset ) [source]
+
+
+
+
+pancax.fem.read_exodus_mesh. _read_block_conns ( exodusDataset , blockOrdinal ) [source]
+
+
+
+
+pancax.fem.read_exodus_mesh. _read_blocks ( exodusDataset ) [source]
+
+
+
+
+pancax.fem.read_exodus_mesh. _read_node_sets ( exodusDataset ) [source]
+
+
+
+
+pancax.fem.read_exodus_mesh. _read_side_sets ( exodusDataset ) [source]
+
+
+
+
+pancax.fem.read_exodus_mesh. _read_element_type ( exodusDataset ) [source]
+
+
+
+
+pancax.fem.read_exodus_mesh. _read_names_list ( exodusDataset , recordName ) [source]
+
+
+
+
+pancax.fem.read_exodus_mesh. _get_vertex_nodes_from_exodus_tri6_mesh ( conns ) [source]
+
+
+
+
+pancax.fem.sparse_matrix_assembler module
+
+
+pancax.fem.sparse_matrix_assembler. assemble_sparse_stiffness_matrix ( kValues , conns , dofManager ) [source]
+
+
+
+
+pancax.fem.surface module
+
+
+pancax.fem.surface. create_edges ( coords , conns , edge_is_potentially_in_contact ) [source]
+
+
+
+
+pancax.fem.surface. get_coords ( mesh , side ) [source]
+
+
+
+
+pancax.fem.surface. integrate_values ( quadratureRule , coords , gaussField ) [source]
+
+
+
+
+pancax.fem.surface. integrate_function ( quadratureRule , coords , field_func ) [source]
+
+
+
+
+pancax.fem.surface. integrate_function_on_surface ( quadratureRule , edges , mesh , func ) [source]
+
+
+
+
+pancax.fem.surface. integrate_function_on_edge ( quadratureRule , edge , mesh , func ) [source]
+
+
+
+
+pancax.fem.surface. compute_normal ( edgeCoords ) [source]
+
+
+
+
+pancax.fem.surface. get_field_index ( edge , conns ) [source]
+
+
+
+
+pancax.fem.surface. eval_field ( field , fieldIndex ) [source]
+
+
+
+
+pancax.fem.surface. compute_edge_vectors ( edgeCoords ) [source]
+
+
+
+
+pancax.fem.traction_bc module
+
+
+pancax.fem.traction_bc. interpolate_nodal_field_on_edge ( conns , U , quadRule , edge ) [source]
+
+
+
+
+pancax.fem.traction_bc. compute_traction_potential_energy_on_edge ( coords , conns , U , quadRule , edge , load , time ) [source]
+
+
+
+
+pancax.fem.traction_bc. compute_traction_potential_energy ( coords , conns , U , quadRule , edges , load , time = 0.0 ) [source]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pancax.html b/pancax.html
new file mode 100644
index 0000000..cc4b2e7
--- /dev/null
+++ b/pancax.html
@@ -0,0 +1,1967 @@
+
+
+
+
+
+
+
+
+
pancax package — pancax 0.0.2 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pancax
+
+
+
+
+
+
+
+
+
+pancax package
+
+
+
+pancax.__main__ module
+
+
+pancax.history_writer module
+
+
+class pancax.history_writer. BaseHistoryWriter ( log_every : int , write_every : int ) [source]
+Bases: Module
+
+
+log_every : int
+
+
+
+
+write_every : int
+
+
+
+
+abstract to_csv ( ) [source]
+
+
+
+
+write_data ( key : str , val : float ) → None [source]
+
+
+
+
+abstract write_aux_values ( loss ) [source]
+
+
+
+
+abstract write_epoch ( epoch ) [source]
+
+
+
+
+write_history ( loss , epoch : int ) [source]
+
+
+
+
+abstract write_loss ( loss ) [source]
+
+
+
+
+__init__ ( log_every : int , write_every : int ) → None
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+class pancax.history_writer. HistoryWriter ( history_file : str , log_every : int , write_every : int ) [source]
+Bases: BaseHistoryWriter
+
+
+log_every : int
+
+
+
+
+write_every : int
+
+
+
+
+__init__ ( history_file : str , log_every : int , write_every : int ) → None [source]
+
+
+
+
+history_file : Path
+
+
+
+
+data_dict : dict
+
+
+
+
+to_csv ( ) → None [source]
+
+
+
+
+write_aux_values ( loss ) [source]
+
+
+
+
+write_epoch ( epoch ) [source]
+
+
+
+
+write_loss ( loss ) [source]
+
+
+
+
+_write_loss ( loss , epoch : int , log_every = 1 , save_every = 1000 ) [source]
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+class pancax.history_writer. EnsembleHistoryWriter ( base_name : str , n_pinns : int , log_every : int , write_every : int ) [source]
+Bases: BaseHistoryWriter
+
+
+log_every : int
+
+
+
+
+write_every : int
+
+
+
+
+__init__ ( base_name : str , n_pinns : int , log_every : int , write_every : int ) → None [source]
+
+
+
+
+history_writers : List [ HistoryWriter ]
+
+
+
+
+to_csv ( ) [source]
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+write_aux_values ( loss ) [source]
+
+
+
+
+write_epoch ( epoch ) [source]
+
+
+
+
+write_loss ( loss ) [source]
+
+
+
+
+
+
+pancax.kinematics module
+
+
+pancax.kinematics. create_field_methods ( domain , bc_func ) [source]
+
+
+
+
+pancax.kinematics. deformation_gradients ( grad_us , formulation ) [source]
+
+
+
+
+pancax.kinematics. invariants_old ( grad_us , formulation ) [source]
+
+
+
+
+pancax.kinematics. invariants ( grad_u ) [source]
+
+
+
+
+pancax.kinematics. plane_strain ( F ) [source]
+
+
+
+
+pancax.kinematics. incompressible_plane_stress ( F ) [source]
+
+
+
+
+pancax.logging module
+
+
+pancax.logging. log_loss ( loss , n , log_every ) [source]
+
+
+
+
+class pancax.logging. BaseLogger ( log_every : int ) [source]
+Bases: Module
+
+
+log_every : int
+
+
+
+
+abstract flush ( ) [source]
+
+
+
+
+log_loss ( loss , epoch ) [source]
+
+
+
+
+abstract write_aux_values ( loss ) [source]
+
+
+
+
+abstract write_epoch_value ( epoch ) [source]
+
+
+
+
+abstract write_loss_value ( loss ) [source]
+
+
+
+
+__init__ ( log_every : int ) → None
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+class pancax.logging. Logger ( log_file_in : str , log_every : int ) [source]
+Bases: BaseLogger
+
+
+__init__ ( log_file_in : str , log_every : int ) → None [source]
+
+
+
+
+log_file : any
+
+
+
+
+flush ( ) [source]
+
+
+
+
+write_aux_values ( loss ) [source]
+
+
+
+
+write_epoch_value ( epoch ) [source]
+
+
+
+
+write_loss_value ( loss ) [source]
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+class pancax.logging. EnsembleLogger ( base_name : str , n_pinns : int , log_every : int ) [source]
+Bases: BaseLogger
+
+
+__init__ ( base_name : str , n_pinns : int , log_every : int ) → None [source]
+
+
+
+
+loggers : List [ Logger ]
+
+
+
+
+flush ( ) [source]
+
+
+
+
+write_aux_values ( loss ) [source]
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+write_epoch_value ( epoch ) [source]
+
+
+
+
+write_loss_value ( loss ) [source]
+
+
+
+
+
+
+pancax.physics module
+
+
+pancax.physics. element_quantity ( f , x , u , conn , N , grad_N , JxW , props ) [source]
+
+
+
+
+pancax.physics. element_quantity_new ( f , fspace , x_el , u_el , props ) [source]
+
+
+
+
+pancax.physics. element_quantity_grad ( f , fspace , x_el , u_el , props )
+Jacobian of element_quantity_new with respect to positional argument(s) 3. Takes the same arguments as element_quantity_new but returns the jacobian of the output with respect to the arguments at positions 3.
+
+
+
+
+pancax.physics. element_quantity_hessian ( f , fspace , x_el , u_el , props )
+Jacobian of element_quantity_new with respect to positional argument(s) 3. Takes the same arguments as element_quantity_new but returns the jacobian of the output with respect to the arguments at positions 3.
+
+
+
+
+pancax.physics. potential_energy ( domain , us , props ) [source]
+
+
+
+
+pancax.physics. residual_mse ( domain , us , props ) [source]
+
+
+
+
+pancax.physics. mass_matrix ( domain , us , props ) [source]
+
+
+
+
+pancax.physics. stiffness_matrix ( domain , us , props ) [source]
+
+
+
+
+pancax.physics. traction_energy ( ) [source]
+
+
+
+
+pancax.physics. internal_force ( domain , us , props )
+Gradient of potential_energy with respect to positional argument(s) 1. Takes the same arguments as potential_energy but returns the gradient, which has the same shape as the arguments at positions 1.
+
+
+
+
+pancax.physics. residual ( x , y , z )
+
+
+
+
+pancax.physics. potential_energy_and_internal_force ( domain , us , props )
+Value and gradient of potential_energy with respect to positional argument(s) 1. Takes the same arguments as potential_energy but returns a two-element tuple where the first element is the value of potential_energy and the second element is the gradient, which has the same shape as the arguments at positions 1.
+
+
+
+
+pancax.physics. potential_energy_and_residual ( domain , us , props ) [source]
+
+
+
+
+pancax.physics. potential_energy_residual_and_reaction_force ( domain , us , props ) [source]
+
+
+
+
+pancax.physics. strong_form_residual ( params , domain , t ) [source]
+
+
+
+
+pancax.physics. nodal_incompressibility_constraint ( params , domain , t ) [source]
+
+
+
+
+pancax.physics. quadrature_incompressibility_constraint ( domain , us , props ) [source]
+
+
+
+
+pancax.physics. incompressible_energy ( domain , us , props ) [source]
+
+
+
+
+pancax.physics. incompressible_internal_force ( domain , us , props )
+Gradient of incompressible_energy with respect to positional argument(s) 1. Takes the same arguments as incompressible_energy but returns the gradient, which has the same shape as the arguments at positions 1.
+
+
+
+
+pancax.physics. incompressible_energy_and_internal_force ( domain , us , props )
+Value and gradient of incompressible_energy with respect to positional argument(s) 1. Takes the same arguments as incompressible_energy but returns a two-element tuple where the first element is the value of incompressible_energy and the second element is the gradient, which has the same shape as the arguments at positions 1.
+
+
+
+
+pancax.physics. incompressible_energy_and_residual ( domain , us , props ) [source]
+
+
+
+
+pancax.post_processor module
+
+
+class pancax.post_processor. ExodusPostProcessor ( mesh_file : str ) [source]
+Bases: object
+
+
+__init__ ( mesh_file : str ) → None [source]
+
+
+
+
+check_variable_names ( domain , variables ) → None [source]
+
+
+
+
+close ( ) → None [source]
+
+
+
+
+copy_mesh ( output_file : str ) → None [source]
+
+
+
+
+get_node_variable_number ( domain , variables ) → int [source]
+
+
+
+
+get_element_variable_number ( domain , variables ) → int [source]
+
+
+
+
+init ( domain , output_file : str , node_variables : List [ str ] , element_variables : List [ str ] ) → None [source]
+
+
+
+
+index_to_component ( index ) [source]
+
+
+
+
+write_outputs ( params , domain ) → None [source]
+
+
+
+
+
+
+class pancax.post_processor. VtkPostProcessor ( mesh_file : str ) [source]
+Bases: object
+
+
+__init__ ( mesh_file : str ) → None [source]
+
+
+
+
+close ( ) [source]
+
+
+
+
+init ( domain , output_file : str , node_variables , element_variables ) → None [source]
+
+
+
+
+write_outputs ( params , domain ) → None [source]
+
+
+
+
+convert_exodus_to_xml ( exodus_file , xml_file ) [source]
+Converts an Exodus II file to a VTK XML MultiBlock dataset.
+
+
+
+
+get_vtk_cell_type ( exodus_element_type ) [source]
+Map Exodus element types to VTK cell types.
+
+
+
+
+cell_type ( vtk_cell_type , num_nodes_in_element ) [source]
+
+
+
+
+
+
+class pancax.post_processor. PostProcessor ( mesh_file : str , mesh_type = 'exodus' ) [source]
+Bases: object
+
+
+__init__ ( mesh_file : str , mesh_type = 'exodus' ) → None [source]
+
+
+
+
+close ( ) [source]
+
+
+
+
+init ( domain , output_file , node_variables , element_variables = [] ) [source]
+
+
+
+
+write_outputs ( params , domain ) [source]
+
+
+
+
+
+
+pancax.timer module
+
+
+exception pancax.timer. TimerError [source]
+Bases: Exception
+A custom exception used to report errors in use of Timer class
+
+
+
+
+class pancax.timer. Timer ( name: str | None = None, text: str = 'Time in {name}: {:0.8f} seconds', logger: ~typing.Callable[[str], None] | None = <built-in function print> ) [source]
+Bases: ContextDecorator
+Time your code using a class, context manager, or decorator
+
+
+timers : ClassVar [ Dict [ str , float ] ] = {}
+
+
+
+
+name : str | None = None
+
+
+
+
+text : str = 'Time in {name}: {:0.8f} seconds'
+
+
+
+
+logger ( * , sep = ' ' , end = '\n' , file = None , flush = False )
+Prints the values to a stream, or to sys.stdout by default.
+
+sep string inserted between values, default a space.
+
+end string appended after the last value, default a newline.
+
+file a file-like object (stream); defaults to the current sys.stdout.
+
+flush whether to forcibly flush the stream.
+
+
+
+
+
+
+_start_time : float | None = None
+
+
+
+
+start ( ) → None [source]
+Start a new timer
+
+
+
+
+stop ( ) → float [source]
+Stop the timer, and report the elapsed time
+
+
+
+
+__init__ ( name: str | None = None, text: str = 'Time in {name}: {:0.8f} seconds', logger: ~typing.Callable[[str], None] | None = <built-in function print> ) → None
+
+
+
+
+
+
+pancax.trainer module
+
+
+class pancax.trainer. Trainer ( domain , opt , checkpoint_base = 'checkpoint' , history_file = 'history.csv' , log_file = 'pinn.log' , output_file_base = 'output' , output_node_variables = [] , output_element_variables = [] , log_every = 1000 , output_every = 10000 , serialise_every = 10000 , workdir = '/__w/pancax/pancax/docs' ) [source]
+Bases: object
+
+
+__init__ ( domain , opt , checkpoint_base = 'checkpoint' , history_file = 'history.csv' , log_file = 'pinn.log' , output_file_base = 'output' , output_node_variables = [] , output_element_variables = [] , log_every = 1000 , output_every = 10000 , serialise_every = 10000 , workdir = '/__w/pancax/pancax/docs' ) → None [source]
+
+
+
+
+init ( params ) [source]
+
+
+
+
+serialise ( params ) [source]
+
+
+
+
+step ( params , opt_st ) [source]
+
+
+
+
+train ( params , n_epochs ) [source]
+
+
+
+
+write_outputs ( params ) [source]
+
+
+
+
+
+
+pancax.utils module
+
+
+exception pancax.utils. DataFileNotFoundException [source]
+Bases: Exception
+
+
+
+
+exception pancax.utils. MeshFileNotFoundException [source]
+Bases: Exception
+
+
+
+
+pancax.utils. find_data_file ( data_file_in : str ) [source]
+
+
+
+
+pancax.utils. find_mesh_file ( mesh_file_in : str ) [source]
+
+
+
+
+pancax.utils. set_checkpoint_file ( checkpoint_file_base : str ) [source]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pancax.kernels.html b/pancax.kernels.html
new file mode 100644
index 0000000..213998c
--- /dev/null
+++ b/pancax.kernels.html
@@ -0,0 +1,642 @@
+
+
+
+
+
+
+
+
+
pancax.kernels package — pancax 0.0.2 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pancax
+
+
+
+
+
+
+
+
+
+pancax.kernels package
+
+
+pancax.kernels.base_kernel module
+
+
+pancax.kernels.base_kernel. vector_names ( base_name : str , dim : int ) [source]
+
+
+
+
+pancax.kernels.base_kernel. full_tensor_names ( base_name : str ) [source]
+Provides a full list of tensorial variable component names
+:param base_name: base name for a tensor variable e.g. base_name_xx
+
+
+
+
+pancax.kernels.base_kernel. full_tensor_names_2D ( base_name : str ) [source]
+Provides a full list of tensorial variable component names
+:param base_name: base name for a tensor variable e.g. base_name_xx
+
+
+
+
+pancax.kernels.base_kernel. element_pp ( func , has_props = False , jit = True ) [source]
+
+Parameters:
+
+func – Function to use for an element property output variable
+has_props – Whether or not this function need properties
+jit – Whether or not to jit this function
+
+
+
+
+
+
+
+pancax.kernels.base_kernel. nodal_pp ( func , has_props = False , jit = True ) [source]
+
+Parameters:
+
+func – Function to use for a nodal property output variable
+has_props – Whether or not this function need properties
+jit – Whether or not to jit this function
+
+
+
+
+
+
+
+pancax.kernels.base_kernel. standard_pp ( physics ) [source]
+
+
+
+
+class pancax.kernels.base_kernel. PhysicsKernel ( mesh_file , bc_func , use_delta_pinn ) [source]
+Bases: ABC
+
+
+n_dofs : int
+
+
+
+
+field_value_names : List [ str ]
+
+
+
+
+var_name_to_method : Dict [ str , Dict [ str , Callable | List [ str ] ] ] = {}
+
+
+
+
+__init__ ( mesh_file , bc_func , use_delta_pinn ) → None [source]
+
+
+
+
+bc_func : Callable
+
+
+
+
+use_delta_pinn : bool
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+class pancax.kernels.base_kernel. StrongFormPhysicsKernel ( mesh_file , bc_func , use_delta_pinn ) [source]
+Bases: PhysicsKernel
+
+
+n_dofs : int
+
+
+
+
+field_value_names : List [ str ]
+
+
+
+
+bc_func : Callable
+
+
+
+
+use_delta_pinn : bool
+
+
+
+
+__init__ ( mesh_file , bc_func , use_delta_pinn ) → None [source]
+
+
+
+
+field_gradients ( field_network , x , t ) [source]
+
+
+
+
+field_hessians ( field_network , x , t ) [source]
+
+
+
+
+field_laplacians ( field_network , x , t ) [source]
+
+
+
+
+field_time_derivatives ( field_network , x , t ) [source]
+
+
+
+
+field_second_time_derivatives ( field_network , x , t ) [source]
+
+
+
+
+abstract strong_form_neumann_bc ( params , x , t , n ) [source]
+
+
+
+
+abstract strong_form_residual ( params , x , t ) [source]
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+class pancax.kernels.base_kernel. WeakFormPhysicsKernel ( mesh_file , bc_func , use_delta_pinn ) [source]
+Bases: PhysicsKernel
+
+
+n_dofs : int
+
+
+
+
+field_value_names : List [ str ]
+
+
+
+
+bc_func : Callable
+
+
+
+
+use_delta_pinn : bool
+
+
+
+
+__init__ ( mesh_file , bc_func , use_delta_pinn ) → None [source]
+
+
+
+
+element_field_gradient ( params , domain , t ) [source]
+
+
+
+
+element_quantity ( f , fspace , x_el , u_el , props ) [source]
+
+
+
+
+element_quantity_grad ( f , fspace , x_el , u_el , props ) [source]
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+element_quantity_hessian ( f , fspace , x_el , u_el , props ) [source]
+
+
+
+
+abstract energy ( x_el , u_el , N , grad_N , JxW , props ) [source]
+
+
+
+
+
+
+pancax.kernels.laplace_beltrami module
+
+
+class pancax.kernels.laplace_beltrami. LaplaceBeltrami ( mesh_file , bc_func , n_eigs : int , use_delta_pinn : bool | None = False ) [source]
+Bases: WeakFormPhysicsKernel
+
+
+n_dofs : int = 1
+
+
+
+
+field_names = ['eigenvector']
+
+
+
+
+use_delta_pinn : bool
+
+
+
+
+__init__ ( mesh_file , bc_func , n_eigs : int , use_delta_pinn : bool | None = False ) [source]
+
+
+
+
+energy ( x_el , u_el , N , grad_N , JxW , props ) [source]
+
+
+
+
+kinetic_energy ( x_el , u_el , N , grad_N , JxW , props ) [source]
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+pancax.kernels.linear_elasticity module
+
+
+class pancax.kernels.linear_elasticity. LinearElasticity2D ( mesh_file: str , bc_func: ~typing.Callable , body_force: ~typing.Callable = <function LinearElasticity2D.<lambda>> , use_delta_pinn: bool | None = False ) [source]
+Bases: StrongFormPhysicsKernel
, WeakFormPhysicsKernel
+
+
+n_dofs : int = 2
+
+
+
+
+field_value_names : List [ str ] = ['displ_x', 'displ_y']
+
+
+
+
+use_delta_pinn : bool
+
+
+
+
+__init__ ( mesh_file: str , bc_func: ~typing.Callable , body_force: ~typing.Callable = <function LinearElasticity2D.<lambda>> , use_delta_pinn: bool | None = False ) → None [source]
+
+
+
+
+energy ( x_el , u_el , N , grad_N , JxW , props ) [source]
+
+
+
+
+strong_form_residual ( params , x , t ) [source]
+
+
+
+
+strong_form_neumann_bc ( params , x , t , n ) [source]
+
+
+
+
+linear_strain ( field_network , x , t ) [source]
+
+
+
+
+cauchy_stress ( params , x , t ) [source]
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+pancax.kernels.poisson module
+
+
+class pancax.kernels.poisson. Poisson ( mesh_file , bc_func : Callable , f : Callable , use_delta_pinn : bool | None = False ) [source]
+Bases: StrongFormPhysicsKernel
, WeakFormPhysicsKernel
+
+
+n_dofs : int = 1
+
+
+
+
+field_value_names : List [ str ] = ['u']
+
+
+
+
+use_delta_pinn : bool
+
+
+
+
+__init__ ( mesh_file , bc_func : Callable , f : Callable , use_delta_pinn : bool | None = False ) [source]
+
+
+
+
+energy ( x_el , u_el , N , grad_N , JxW , props ) [source]
+
+
+
+
+strong_form_residual ( params , x , t ) [source]
+
+
+
+
+strong_form_neumann_bc ( params , x , t , n ) [source]
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+pancax.kernels.solid_mechanics module
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pancax.loss_functions.html b/pancax.loss_functions.html
new file mode 100644
index 0000000..60cdac5
--- /dev/null
+++ b/pancax.loss_functions.html
@@ -0,0 +1,808 @@
+
+
+
+
+
+
+
+
+
pancax.loss_functions package — pancax 0.0.2 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pancax
+
+
+
+
+
+
+
+
+
+pancax.loss_functions package
+
+
+pancax.loss_functions.base_loss_function module
+
+
+class pancax.loss_functions.base_loss_function. BaseLossFunction [source]
+Bases: Module
+Base class for loss functions.
+Currently does nothing but helps build a
+type hierarchy.
+
+
+filtered_loss ( diff_params , static_params , domain ) [source]
+
+
+
+
+__init__ ( ) → None
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+class pancax.loss_functions.base_loss_function. BCLossFunction [source]
+Bases: BaseLossFunction
+Base class for boundary condition loss functions.
+A load_step
method is expect with the following
+type signature
+load_step(self, params, domain, t)
+
+
+abstract load_step ( params , domain , t ) [source]
+
+
+
+
+__init__ ( ) → None
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+class pancax.loss_functions.base_loss_function. PhysicsLossFunction [source]
+Bases: BaseLossFunction
+Base class for physics loss functions.
+A load_step
method is expect with the following
+type signature
+load_step(self, params, domain, t)
+
+
+abstract load_step ( params , domain , t ) [source]
+
+
+
+
+__init__ ( ) → None
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+pancax.loss_functions.bc_loss_functions module
+
+
+class pancax.loss_functions.bc_loss_functions. DirichletBCLoss ( weight : float | None = 1.0 ) [source]
+Bases: BCLossFunction
+
+
+__init__ ( weight : float | None = 1.0 ) [source]
+
+
+
+
+weight : float
+
+
+
+
+load_step ( params , domain , t ) [source]
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+class pancax.loss_functions.bc_loss_functions. NeumannBCLoss ( weight : float | None = 1.0 ) [source]
+Bases: BCLossFunction
+
+
+__init__ ( weight : float | None = 1.0 ) [source]
+
+
+
+
+weight : float
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+load_step ( params , domain , t ) [source]
+
+
+
+
+
+
+pancax.loss_functions.data_loss_functions module
+
+
+class pancax.loss_functions.data_loss_functions. FullFieldDataLoss ( weight : float | None = 1.0 ) [source]
+Bases: BaseLossFunction
+
+
+__init__ ( weight : float | None = 1.0 ) [source]
+
+
+
+
+weight : float
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+pancax.loss_functions.ic_loss_function module
+
+
+class pancax.loss_functions.ic_loss_function. ICLossFunction ( weight : float = 1.0 ) [source]
+Bases: BaseLossFunction
+
+
+weight : float = 1.0
+
+
+
+
+__init__ ( weight : float = 1.0 ) → None
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+
+
+pancax.loss_functions.utils module
+
+
+class pancax.loss_functions.utils. CombineLossFunctions ( * funcs , with_props = False ) [source]
+Bases: BaseLossFunction
+
+
+__init__ ( * funcs , with_props = False ) [source]
+
+
+
+
+funcs : any
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+with_props : bool
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pancax.math.html b/pancax.math.html
new file mode 100644
index 0000000..3eb640e
--- /dev/null
+++ b/pancax.math.html
@@ -0,0 +1,426 @@
+
+
+
+
+
+
+
+
+
pancax.math package — pancax 0.0.2 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pancax
+
+
+
+
+
+
+
+
+
+pancax.math package
+
+
+pancax.math.math module
+
+
+pancax.math.math. safe_sqrt_jvp ( xt , vt ) [source]
+
+
+
+
+pancax.math.math. sum2 ( a ) [source]
+Sum a vector to much higher accuracy than numpy.sum.
+
+Parameters:
+a (ndarray , with only one axis ( shape [ n , ] ) )
+
+Returns:
+sum – The sum of the numbers in the array
+
+Return type:
+real
+
+
+This special sum method computes the result as accurate as if
+computed in quadruple precision.
+Reference:
+T. Ogita, S. M. Rump, and S. Oishi. Accurate sum and dot product.
+SIAM J. Sci. Comput., Vol 26, No 6, pp. 1955-1988.
+doi: 10.1137/030601818
+
+
+
+
+pancax.math.math. _two_sum ( a , b ) [source]
+
+
+
+
+pancax.math.math. dot2 ( x , y ) [source]
+Compute inner product of 2 vectors to much higher accuracy than numpy.dot.
+:param :
+:type : param x: ndarray, with only one axis (shape [n,])
+:param :
+:type : param y: ndarray, with only one axis (shape [n,])
+
+Returns:
+The inner product of the input vectors.
+
+Return type:
+return dotprod: real
+
+
+This special inner product method computes the result as accurate
+as if computed in quadruple precision. This algorithm is useful to
+computing objective functions from numerical integration. It avoids
+accumulation of floating point cancellation error that can obscure
+whether an objective function has truly decreased.
+The environment variable setting
+‘XLA_FLAGS = “–xla_cpu_enable_fast_math=false”’
+is critical for this function to work on the CPU. Otherwise, xla
+apparently sets a flag for LLVM that allows unsafe floating point
+optimizations that can change associativity.
+Reference
+T. Ogita, S. M. Rump, and S. Oishi. Accurate sum and dot product.
+SIAM J. Sci. Comput., Vol 26, No 6, pp. 1955-1988.
+doi 10.1137/030601818
+
+
+
+
+pancax.math.math. _two_product ( a , b ) [source]
+
+
+
+
+pancax.math.math. _float_split ( a ) [source]
+
+
+
+
+pancax.math.tensor_math module
+
+
+pancax.math.tensor_math. if_then_else ( cond , val1 , val2 ) [source]
+
+
+
+
+pancax.math.tensor_math. compute_deviatoric_tensor ( strain ) [source]
+
+
+
+
+pancax.math.tensor_math. dev ( strain ) [source]
+
+
+
+
+pancax.math.tensor_math. tensor_norm ( tensor ) [source]
+
+
+
+
+pancax.math.tensor_math. norm_of_deviator_squared ( tensor ) [source]
+
+
+
+
+pancax.math.tensor_math. norm_of_deviator ( tensor ) [source]
+
+
+
+
+pancax.math.tensor_math. mises_equivalent_stress ( stress ) [source]
+
+
+
+
+pancax.math.tensor_math. triaxiality ( A ) [source]
+
+
+
+
+pancax.math.tensor_math. sym ( A ) [source]
+
+
+
+
+pancax.math.tensor_math. logh ( A ) [source]
+
+
+
+
+pancax.math.tensor_math. logh_from_eigen ( eVals , eVecs ) [source]
+
+
+
+
+pancax.math.tensor_math. tensor_2D_to_3D ( H ) [source]
+
+
+
+
+pancax.math.tensor_math. eigen_sym33_non_unit ( tensor ) [source]
+
+
+
+
+pancax.math.tensor_math. eigen_sym33_unit ( tensor ) [source]
+
+
+
+
+pancax.math.tensor_math. cos_of_acos_divided_by_3 ( x ) [source]
+
+
+
+
+pancax.math.tensor_math. mtk_log_sqrt_jvp ( Cpack , Hpack ) [source]
+
+
+
+
+pancax.math.tensor_math. mtk_pow_jvp ( m , Cpack , Hpack ) [source]
+
+
+
+
+pancax.math.tensor_math. relative_log_difference_taylor ( lam1 , lam2 ) [source]
+
+
+
+
+pancax.math.tensor_math. relative_log_difference_no_tolerance_check ( lam1 , lam2 ) [source]
+
+
+
+
+pancax.math.tensor_math. relative_log_difference ( lam1 , lam2 ) [source]
+
+
+
+
+pancax.math.tensor_math. log_jvp ( Cpack , Hpack ) [source]
+
+
+
+
+pancax.math.tensor_math. jvp_sqrtm ( primals , tangents ) [source]
+
+
+
+
+pancax.math.tensor_math. sqrtm_dbp ( A ) [source]
+Matrix square root by product form of Denman-Beavers iteration.
+Translated from the Matrix Function Toolbox
+http://www.ma.man.ac.uk/~higham/mftoolbox
+Nicholas J. Higham, Functions of Matrices: Theory and Computation,
+SIAM, Philadelphia, PA, USA, 2008. ISBN 978-0-898716-46-7,
+
+
+
+
+pancax.math.tensor_math. logm_jvp ( primals , tangents ) [source]
+
+
+
+
+pancax.math.tensor_math. _logm_iss ( A ) [source]
+Logarithmic map by inverse scaling and squaring and Padé approximants
+Translated from the Matrix Function Toolbox
+http://www.ma.man.ac.uk/~higham/mftoolbox
+Nicholas J. Higham, Functions of Matrices: Theory and Computation,
+SIAM, Philadelphia, PA, USA, 2008. ISBN 978-0-898716-46-7,
+
+
+
+
+pancax.math.tensor_math. log_pade_pf ( A , n ) [source]
+Logarithmic map by Padé approximant and partial fractions
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pancax.networks.html b/pancax.networks.html
new file mode 100644
index 0000000..92da32b
--- /dev/null
+++ b/pancax.networks.html
@@ -0,0 +1,629 @@
+
+
+
+
+
+
+
+
+
pancax.networks package — pancax 0.0.2 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pancax
+
+
+
+
+
+
+
+
+
+pancax.networks package
+
+
+pancax.networks.elm module
+
+
+pancax.networks.elm. activation ( x ) [source]
+
+
+
+
+class pancax.networks.elm. ELM ( n_inputs , n_outputs , n_neurons , key ) [source]
+Bases: Module
+
+
+__init__ ( n_inputs , n_outputs , n_neurons , key ) [source]
+
+
+
+
+layer : any
+
+
+
+
+beta : any
+
+
+
+
+n_outputs : int
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+class pancax.networks.elm. ELM2 ( layer: <built-in function any> , beta: <built-in function any> , n_outputs: int ) [source]
+Bases: Module
+
+
+layer : any
+
+
+
+
+__init__ ( layer : any , beta : any , n_outputs : int ) → None
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+beta : any
+
+
+
+
+n_outputs : int
+
+
+
+
+
+
+pancax.networks.field_property_pair module
+
+
+class pancax.networks.field_property_pair. BasePancaxModel [source]
+Bases: Module
+Base class for pancax model parameters.
+This includes a few helper methods
+
+
+serialise ( base_name , epoch ) [source]
+
+
+
+
+__init__ ( ) → None
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+class pancax.networks.field_property_pair. FieldPropertyPair ( fields : Module , properties : Module ) [source]
+Bases: BasePancaxModel
+Data structure for storing a set of field network
+parameters and a set of material properties
+
+Parameters:
+
+
+
+
+
+fields : Module
+
+
+
+
+properties : Module
+
+
+
+
+freeze_fields_filter ( ) [source]
+
+
+
+
+freeze_props_filter ( ) [source]
+
+
+
+
+__init__ ( fields : Module , properties : Module ) → None
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+pancax.networks.initialization module
+
+
+pancax.networks.initialization. zero_init ( key : PRNGKey , shape ) → Float [ Array , 'no ni' ] [source]
+
+Parameters:
+
+
+Returns:
+A new set of weights
+
+
+
+
+
+
+pancax.networks.initialization. trunc_init ( key : PRNGKey , shape ) → Float [ Array , 'no ni' ] [source]
+
+Parameters:
+
+
+Returns:
+A new set of weights
+
+
+
+
+
+
+pancax.networks.initialization. init_linear_weight ( model : Module , init_fn : Callable , key : PRNGKey ) → Module [source]
+
+Parameters:
+
+
+Returns:
+a new equinox model
+
+
+
+
+
+
+pancax.networks.initialization. init_linear ( model : Module , init_fn : Callable , key : PRNGKey ) [source]
+
+Parameters:
+
+
+Returns:
+a new equinox model
+
+
+
+
+
+
+pancax.networks.initialization. box_init ( layer : Linear , key : PRNGKey ) [source]
+
+
+
+
+pancax.networks.mlp module
+
+
+pancax.networks.mlp. Linear ( n_inputs : int , n_outputs : int , key : PRNGKey ) [source]
+
+Parameters:
+
+
+Returns:
+Equinox Linear layer
+
+
+
+
+
+
+pancax.networks.mlp. MLP ( n_inputs: int , n_outputs: int , n_neurons: int , n_layers: int , activation: ~typing.Callable , key: ~jax._src.random.PRNGKey , use_final_bias: bool | None = False , init_func: ~typing.Callable | None = <function trunc_init> ) [source]
+
+Parameters:
+
+n_inputs – Number of inputs to the MLP
+n_outputs – Number of outputs of the MLP
+n_neurons – Number of neurons in each hidden layer of the MLP
+n_layers – Number of hidden layers in the MLP
+activation – Activation function, e.g. tanh or relu
+key – rng key
+use_final_bias – Boolean for whether or not to use a bias
+vector in the final layer
+
+
+Returns:
+Equinox MLP layer
+
+
+
+
+
+
+pancax.networks.mlp. MLPBasis ( n_inputs: int , n_neurons: int , n_layers: int , activation: ~typing.Callable , key: ~jax._src.random.PRNGKey , init_func: ~typing.Callable | None = <function trunc_init> ) [source]
+
+
+
+
+pancax.networks.properties module
+
+
+class pancax.networks.properties. Properties ( prop_mins: ~jax.Array , prop_maxs: ~jax.Array , key: ~jax._src.random.PRNGKey , activation_func: ~typing.Callable | None = <PjitFunction of <function sigmoid>> ) [source]
+Bases: Module
+
+Parameters:
+
+prop_mins – Minimum allowable properties
+prop_maxs – Maximum allowable properties
+prop_params – Actual tunable parameters
+
+
+
+
+
+__init__ ( prop_mins: ~jax.Array , prop_maxs: ~jax.Array , key: ~jax._src.random.PRNGKey , activation_func: ~typing.Callable | None = <PjitFunction of <function sigmoid>> ) → None [source]
+
+Parameters:
+
+
+
+
+
+
+
+prop_mins : Array
+
+
+
+
+prop_maxs : Array
+
+
+
+
+prop_params : Array
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+activation_func : Callable
+
+
+
+
+
+
+class pancax.networks.properties. FixedProperties ( props : jax.Array ) [source]
+Bases: Properties
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+__init__ ( props : Array ) → None [source]
+
+Parameters:
+props – Property values to be fixed
+
+
+
+
+
+
+
+
+pancax.networks.rbf module
+
+
+class pancax.networks.rbf. RBFBasis ( n_inputs: int , n_neurons: int , key: <function PRNGKey at 0x7f76547353a0> ) [source]
+Bases: Module
+
+
+__init__ ( n_inputs : int , n_neurons : int , key : PRNGKey ) → None [source]
+
+
+
+
+center : Array
+
+
+
+
+sigma : Array
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+pancax.networks.rbf. rbf_normalization ( hidden ) [source]
+
+
+
+
+Module contents
+
+
+pancax.networks. Network ( network_type , * args , ** kwargs ) [source]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pancax.optimizers.html b/pancax.optimizers.html
new file mode 100644
index 0000000..e99178e
--- /dev/null
+++ b/pancax.optimizers.html
@@ -0,0 +1,307 @@
+
+
+
+
+
+
+
+
+
pancax.optimizers package — pancax 0.0.2 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pancax
+
+
+
+
+
+
+
+
+
+pancax.optimizers package
+
+
+pancax.optimizers.adam module
+
+
+class pancax.optimizers.adam. Adam ( loss_function : Callable , has_aux : bool | None = False , jit : bool | None = True , learning_rate : float | None = 0.001 , transition_steps : int | None = 500 , decay_rate : float | None = 0.99 , clip_gradients : bool | None = False , filter_spec : Callable | None = None ) [source]
+Bases: Optimizer
+
+
+__init__ ( loss_function : Callable , has_aux : bool | None = False , jit : bool | None = True , learning_rate : float | None = 0.001 , transition_steps : int | None = 500 , decay_rate : float | None = 0.99 , clip_gradients : bool | None = False , filter_spec : Callable | None = None ) → None [source]
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+make_step_method ( ) [source]
+
+
+
+
+
+
+pancax.optimizers.base module
+
+
+class pancax.optimizers.base. Optimizer ( loss_function : Callable , has_aux : bool | None = False , jit : bool | None = True ) [source]
+Bases: ABC
+
+
+__init__ ( loss_function : Callable , has_aux : bool | None = False , jit : bool | None = True ) → None [source]
+
+
+
+
+abstract make_step_method ( params ) [source]
+
+
+
+
+ensemble_init ( params ) [source]
+
+
+
+
+ensemble_step_old ( params , domain , opt_st ) [source]
+
+
+
+
+init ( params ) [source]
+
+
+
+
+train ( params , domain , times , opt , logger , history , pp , n_epochs , log_every : int | None = 100 , serialise_every : int | None = 10000 , postprocess_every : int | None = 10000 ) [source]
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+pancax.optimizers.lbfgs module
+
+
+pancax.optimizers.lbfgs. value_and_grad_from_state ( value_fn ) [source]
+
+
+
+
+class pancax.optimizers.lbfgs. LBFGS ( loss_function : Callable , has_aux : bool | None = False , jit : bool | None = False , learning_rate : float | None = 0.1 ) [source]
+Bases: Optimizer
+
+
+__init__ ( loss_function : Callable , has_aux : bool | None = False , jit : bool | None = False , learning_rate : float | None = 0.1 ) → None [source]
+
+
+
+
+make_step_method ( ) [source]
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+pancax.optimizers.utils module
+
+
+pancax.optimizers.utils. trainable_filter ( params : any , freeze_properties : bool | None = True , freeze_basis : bool | None = False ) [source]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pancax.physics_kernels.html b/pancax.physics_kernels.html
new file mode 100644
index 0000000..f1ad80a
--- /dev/null
+++ b/pancax.physics_kernels.html
@@ -0,0 +1,702 @@
+
+
+
+
+
+
+
+
+
pancax.physics_kernels package — pancax 0.0.2 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pancax
+
+
+
+
+
+
+
+
+
+pancax.physics_kernels package
+
+
+pancax.physics_kernels.base module
+
+
+pancax.physics_kernels.base. nodal_pp ( func , has_props = False , jit = True ) [source]
+
+Parameters:
+
+func – Function to use for a nodal property output variable
+has_props – Whether or not this function need properties
+jit – Whether or not to jit this function
+
+
+
+
+
+
+
+pancax.physics_kernels.base. standard_pp ( physics ) [source]
+
+
+
+
+class pancax.physics_kernels.base. BasePhysics ( field_value_names : tuple [ str , ... ] ) [source]
+Bases: Module
+
+
+__init__ ( field_value_names : tuple [ str , ... ] ) → None [source]
+
+
+
+
+field_value_names : tuple [ str , ... ]
+
+
+
+
+var_name_to_method : Dict [ str , Callable ]
+
+
+
+
+dirichlet_bc_func : Callable
+
+
+
+
+x_mins : Float [ Array , 'nd' ]
+
+
+
+
+x_maxs : Float [ Array , 'nd' ]
+
+
+
+
+field_values ( field , x , t , * args ) [source]
+
+
+
+
+field_gradients ( field , x , t , * args ) [source]
+
+
+
+
+field_hessians ( field , x , t , * args ) [source]
+
+
+
+
+field_laplacians ( field , x , t , * args ) [source]
+
+
+
+
+field_time_derivatives ( field , x , t , * args ) [source]
+
+
+
+
+field_second_time_derivatives ( field , x , t , * args ) [source]
+
+
+
+
+update_dirichlet_bc_func ( bc_func : Callable ) [source]
+
+
+
+
+update_normalization ( domain ) [source]
+
+
+
+
+update_var_name_to_method ( ) [source]
+
+
+
+
+vmap_field_values ( field , xs , t , * args ) [source]
+
+
+
+
+vmap_field_gradients ( field , xs , t , * args ) [source]
+
+
+
+
+property n_dofs
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+class pancax.physics_kernels.base. BaseVariationalFormPhysics ( field_value_names : tuple [ str , ... ] ) [source]
+Bases: BasePhysics
+
+
+__init__ ( field_value_names : tuple [ str , ... ] ) → None
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+class pancax.physics_kernels.base. BaseEnergyFormPhysics ( field_value_names : tuple [ str , ... ] ) [source]
+Bases: BaseVariationalFormPhysics
+
+
+field_value_names : tuple [ str , ... ]
+
+
+
+
+element_energy ( params , x , t , u , fspace , * args ) [source]
+
+
+
+
+element_kinetic_energy ( params , x , t , u , fspace , * args ) [source]
+
+
+
+
+abstract energy ( params , x , t , u , grad_u , * args ) [source]
+
+
+
+
+potential_energy_on_block ( params , x , t , us , fspace , conns , * args ) [source]
+
+
+
+
+potential_energy ( params , domain , t , us , * args ) [source]
+
+
+
+
+potential_energy_and_internal_force ( params , domain , t , us , * args ) [source]
+
+
+
+
+potential_energy_and_residual ( params , domain , t , us , * args ) [source]
+
+
+
+
+potential_energy_residual_and_reaction_force ( params , domain , t , us , * args ) [source]
+
+
+
+
+mass_matrix ( params , domain , t , us , * args ) [source]
+
+
+
+
+stiffness_matrix ( params , domain , t , us , * args ) [source]
+
+
+
+
+__init__ ( field_value_names : tuple [ str , ... ] ) → None
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+vmap_element_energy ( params , x , t , u , fspace , conns , * args ) [source]
+
+
+
+
+
+
+class pancax.physics_kernels.base. BaseStrongFormPhysics ( field_value_names : tuple [ str , ... ] ) [source]
+Bases: BasePhysics
+
+
+__init__ ( field_value_names : tuple [ str , ... ] ) → None
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+field_value_names : tuple [ int , ... ]
+
+
+
+
+strong_form_neumann_bc ( params , x , t , n , * args ) [source]
+
+
+
+
+abstract strong_form_residual ( params , x , t , * args ) [source]
+
+
+
+
+
+
+pancax.physics_kernels.burgers_equation module
+
+
+class pancax.physics_kernels.burgers_equation. BurgersEquation [source]
+Bases: BaseStrongFormPhysics
+
+
+field_value_names : tuple [ int , ... ]
+
+
+
+
+__init__ ( ) [source]
+
+
+
+
+strong_form_residual ( params , x , t , * args ) [source]
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+pancax.physics_kernels.heat_equation module
+
+
+class pancax.physics_kernels.heat_equation. HeatEquation [source]
+Bases: BaseStrongFormPhysics
+
+
+field_value_names : tuple [ int ]
+
+
+
+
+__init__ ( ) [source]
+
+
+
+
+strong_form_residual ( params , x , t , * args ) [source]
+
+
+
+
+strong_form_neumann_bc ( params , x , t , n , * args ) [source]
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+pancax.physics_kernels.laplace_beltrami module
+
+
+class pancax.physics_kernels.laplace_beltrami. LaplaceBeltrami [source]
+Bases: BaseEnergyFormPhysics
+
+
+field_value_names : tuple [ int , ... ] = 'u'
+
+
+
+
+__init__ ( ) [source]
+
+
+
+
+energy ( params , x , t , u , grad_u , * args ) [source]
+
+
+
+
+kinetic_energy ( params , x , t , u , grad_u , * args ) [source]
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+pancax.physics_kernels.poisson module
+
+
+class pancax.physics_kernels.poisson. Poisson ( f : Callable ) [source]
+Bases: BaseEnergyFormPhysics
, BaseStrongFormPhysics
+
+
+field_value_names : tuple [ str , ... ] = 'u'
+
+
+
+
+__init__ ( f : Callable ) → None [source]
+
+
+
+
+f : Callable
+
+
+
+
+energy ( params , x , t , u , grad_u , * args ) [source]
+
+
+
+
+strong_form_neumann_bc ( params , x , t , n , * args ) [source]
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+strong_form_residual ( params , x , t , * args ) [source]
+
+
+
+
+
+
+pancax.physics_kernels.solid_mechanics module
+
+
+class pancax.physics_kernels.solid_mechanics. BaseMechanicsFormulation ( n_dimensions : int ) [source]
+Bases: Module
+
+
+n_dimensions : int
+
+
+
+
+abstract modify_field_gradient ( grad_u ) [source]
+
+
+
+
+__init__ ( n_dimensions : int ) → None
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+class pancax.physics_kernels.solid_mechanics. IncompressiblePlaneStress [source]
+Bases: BaseMechanicsFormulation
+
+
+n_dimensions : int = 2
+
+
+
+
+__init__ ( ) → None [source]
+
+
+
+
+deformation_gradient ( grad_u ) [source]
+
+
+
+
+modify_field_gradient ( grad_u ) [source]
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+class pancax.physics_kernels.solid_mechanics. PlaneStrain ( n_dimensions : int = 2 ) [source]
+Bases: BaseMechanicsFormulation
+
+
+n_dimensions : int = 2
+
+
+
+
+
+
+
+
+modify_field_gradient ( grad_u ) [source]
+
+
+
+
+__init__ ( n_dimensions : int = 2 ) → None
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+class pancax.physics_kernels.solid_mechanics. ThreeDimensional ( n_dimensions : int = 3 ) [source]
+Bases: BaseMechanicsFormulation
+
+
+n_dimensions : int = 3
+
+
+
+
+modify_field_gradient ( grad_u ) [source]
+
+
+
+
+__init__ ( n_dimensions : int = 3 ) → None
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+
+
+class pancax.physics_kernels.solid_mechanics. SolidMechanics ( constitutive_model , formulation ) [source]
+Bases: BaseEnergyFormPhysics
+
+
+__init__ ( constitutive_model , formulation ) → None [source]
+
+
+
+
+field_value_names : tuple [ str , ... ]
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+constitutive_model : any
+
+
+
+
+formulation : BaseMechanicsFormulation
+
+
+
+
+energy ( params , x , t , u , grad_u , * args ) [source]
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pancax.problems.html b/pancax.problems.html
new file mode 100644
index 0000000..627dfae
--- /dev/null
+++ b/pancax.problems.html
@@ -0,0 +1,274 @@
+
+
+
+
+
+
+
+
+
pancax.problems package — pancax 0.0.2 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pancax
+
+
+
+
+
+
+
+
+
+pancax.problems package
+
+
+
+pancax.problems.inverse_problem module
+
+
+class pancax.problems.inverse_problem. InverseProblem ( domain : pancax.domains.base.BaseDomain , physics : pancax.physics_kernels.base.BasePhysics , ics : List [ Callable ] , essential_bcs : List [ pancax.bcs.essential_bc.EssentialBC ] , natural_bcs : List [ pancax.bcs.natural_bc.NaturalBC ] , field_data : pancax.data.full_field_data.FullFieldData , global_data : pancax.data.global_data.GlobalData ) [source]
+Bases: ForwardProblem
+
+
+__init__ ( domain : BaseDomain , physics : BasePhysics , ics : List [ Callable ] , essential_bcs : List [ EssentialBC ] , natural_bcs : List [ NaturalBC ] , field_data : FullFieldData , global_data : GlobalData ) → None [source]
+
+
+
+
+_abc_impl = <_abc._abc_data object>
+
+
+
+
+field_data : FullFieldData
+
+
+
+
+global_data : GlobalData
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/py-modindex.html b/py-modindex.html
new file mode 100644
index 0000000..5993a44
--- /dev/null
+++ b/py-modindex.html
@@ -0,0 +1,573 @@
+
+
+
+
+
+
+
+
Python Module Index — pancax 0.0.2 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pancax
+
+
+
+
+
+
+
+ Python Module Index
+
+
+
+
+
+
+
+
+
+
Python Module Index
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/search.html b/search.html
new file mode 100644
index 0000000..cfa701a
--- /dev/null
+++ b/search.html
@@ -0,0 +1,133 @@
+
+
+
+
+
+
+
+
Search — pancax 0.0.2 documentation
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ pancax
+
+
+
+
+
+
+
+
+
+
+
+ Please activate JavaScript to enable the search functionality.
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/searchindex.js b/searchindex.js
new file mode 100644
index 0000000..b20b285
--- /dev/null
+++ b/searchindex.js
@@ -0,0 +1 @@
+Search.setIndex({"alltitles": {"Indices and tables": [[0, "indices-and-tables"]], "Module contents": [[2, "module-pancax"], [3, "module-pancax.bcs"], [4, "module-pancax.bvps"], [5, "module-pancax.constitutive_models"], [6, "module-pancax.data"], [7, "module-pancax.domains"], [8, "module-pancax.fem"], [9, "module-pancax.fem.elements"], [10, "module-pancax.kernels"], [11, "module-pancax.loss_functions"], [12, "module-pancax.math"], [13, "module-pancax.networks"], [14, "module-pancax.optimizers"], [15, "module-pancax.physics_kernels"], [16, "module-pancax.problems"]], "Pancax": [[0, null]], "Submodules": [[2, "submodules"], [3, "submodules"], [4, "submodules"], [5, "submodules"], [6, "submodules"], [7, "submodules"], [8, "submodules"], [9, "submodules"], [10, "submodules"], [11, "submodules"], [12, "submodules"], [13, "submodules"], [14, "submodules"], [15, "submodules"], [16, "submodules"]], "Subpackages": [[2, "subpackages"], [8, "subpackages"]], "pancax": [[1, null]], "pancax package": [[2, null]], "pancax.__main__ module": [[2, "pancax-main-module"]], "pancax.bcs package": [[3, null]], "pancax.bcs.distance_functions module": [[3, "module-pancax.bcs.distance_functions"]], "pancax.bcs.essential_bc module": [[3, "module-pancax.bcs.essential_bc"]], "pancax.bcs.natural_bc module": [[3, "module-pancax.bcs.natural_bc"]], "pancax.bvps package": [[4, null]], "pancax.bvps.biaxial_tension module": [[4, "module-pancax.bvps.biaxial_tension"]], "pancax.bvps.simple_shear module": [[4, "module-pancax.bvps.simple_shear"]], "pancax.bvps.uniaxial_tension module": [[4, "module-pancax.bvps.uniaxial_tension"]], "pancax.constitutive_models package": [[5, null]], "pancax.constitutive_models.base module": [[5, "module-pancax.constitutive_models.base"]], "pancax.constitutive_models.blatz_ko module": [[5, "module-pancax.constitutive_models.blatz_ko"]], "pancax.constitutive_models.gent module": [[5, "module-pancax.constitutive_models.gent"]], "pancax.constitutive_models.neohookean module": [[5, "module-pancax.constitutive_models.neohookean"]], "pancax.constitutive_models.properties module": [[5, "module-pancax.constitutive_models.properties"]], "pancax.constitutive_models.swanson module": [[5, "module-pancax.constitutive_models.swanson"]], "pancax.data package": [[6, null]], "pancax.data.full_field_data module": [[6, "module-pancax.data.full_field_data"]], "pancax.data.global_data module": [[6, "module-pancax.data.global_data"]], "pancax.domains package": [[7, null]], "pancax.domains.base module": [[7, "module-pancax.domains.base"]], "pancax.domains.collocation_domain module": [[7, "module-pancax.domains.collocation_domain"]], "pancax.domains.delta_pinn_domain module": [[7, "module-pancax.domains.delta_pinn_domain"]], "pancax.domains.variational_domain module": [[7, "module-pancax.domains.variational_domain"]], "pancax.fem package": [[8, null]], "pancax.fem.dof_manager module": [[8, "module-pancax.fem.dof_manager"]], "pancax.fem.elements package": [[9, null]], "pancax.fem.elements.base_element module": [[9, "module-pancax.fem.elements.base_element"]], "pancax.fem.elements.hex8_element module": [[9, "module-pancax.fem.elements.hex8_element"]], "pancax.fem.elements.line_element module": [[9, "module-pancax.fem.elements.line_element"]], "pancax.fem.elements.quad4_element module": [[9, "module-pancax.fem.elements.quad4_element"]], "pancax.fem.elements.quad9_element module": [[9, "module-pancax.fem.elements.quad9_element"]], "pancax.fem.elements.simplex_tri_element module": [[9, "module-pancax.fem.elements.simplex_tri_element"]], "pancax.fem.elements.tet10_element module": [[9, "module-pancax.fem.elements.tet10_element"]], "pancax.fem.elements.tet4_element module": [[9, "module-pancax.fem.elements.tet4_element"]], "pancax.fem.function_space module": [[8, "module-pancax.fem.function_space"]], "pancax.fem.mesh module": [[8, "module-pancax.fem.mesh"]], "pancax.fem.quadrature_rules module": [[8, "module-pancax.fem.quadrature_rules"]], "pancax.fem.read_exodus_mesh module": [[8, "module-pancax.fem.read_exodus_mesh"]], "pancax.fem.sparse_matrix_assembler module": [[8, "module-pancax.fem.sparse_matrix_assembler"]], "pancax.fem.surface module": [[8, "module-pancax.fem.surface"]], "pancax.fem.traction_bc module": [[8, "module-pancax.fem.traction_bc"]], "pancax.history_writer module": [[2, "module-pancax.history_writer"]], "pancax.kernels package": [[10, null]], "pancax.kernels.base_kernel module": [[10, "module-pancax.kernels.base_kernel"]], "pancax.kernels.laplace_beltrami module": [[10, "module-pancax.kernels.laplace_beltrami"]], "pancax.kernels.linear_elasticity module": [[10, "module-pancax.kernels.linear_elasticity"]], "pancax.kernels.poisson module": [[10, "module-pancax.kernels.poisson"]], "pancax.kernels.solid_mechanics module": [[10, "pancax-kernels-solid-mechanics-module"]], "pancax.kinematics module": [[2, "module-pancax.kinematics"]], "pancax.logging module": [[2, "module-pancax.logging"]], "pancax.loss_functions package": [[11, null]], "pancax.loss_functions.base_loss_function module": [[11, "module-pancax.loss_functions.base_loss_function"]], "pancax.loss_functions.bc_loss_functions module": [[11, "module-pancax.loss_functions.bc_loss_functions"]], "pancax.loss_functions.data_loss_functions module": [[11, "module-pancax.loss_functions.data_loss_functions"]], "pancax.loss_functions.ic_loss_function module": [[11, "module-pancax.loss_functions.ic_loss_function"]], "pancax.loss_functions.physics_loss_functions_strong_form module": [[11, "module-pancax.loss_functions.physics_loss_functions_strong_form"]], "pancax.loss_functions.strong_form_loss_functions module": [[11, "module-pancax.loss_functions.strong_form_loss_functions"]], "pancax.loss_functions.utils module": [[11, "module-pancax.loss_functions.utils"]], "pancax.loss_functions.weak_form_loss_functions module": [[11, "module-pancax.loss_functions.weak_form_loss_functions"]], "pancax.math package": [[12, null]], "pancax.math.math module": [[12, "module-pancax.math.math"]], "pancax.math.tensor_math module": [[12, "module-pancax.math.tensor_math"]], "pancax.networks package": [[13, null]], "pancax.networks.elm module": [[13, "module-pancax.networks.elm"]], "pancax.networks.field_property_pair module": [[13, "module-pancax.networks.field_property_pair"]], "pancax.networks.initialization module": [[13, "module-pancax.networks.initialization"]], "pancax.networks.mlp module": [[13, "module-pancax.networks.mlp"]], "pancax.networks.properties module": [[13, "module-pancax.networks.properties"]], "pancax.networks.rbf module": [[13, "module-pancax.networks.rbf"]], "pancax.optimizers package": [[14, null]], "pancax.optimizers.adam module": [[14, "module-pancax.optimizers.adam"]], "pancax.optimizers.base module": [[14, "module-pancax.optimizers.base"]], "pancax.optimizers.lbfgs module": [[14, "module-pancax.optimizers.lbfgs"]], "pancax.optimizers.utils module": [[14, "module-pancax.optimizers.utils"]], "pancax.physics module": [[2, "module-pancax.physics"]], "pancax.physics_kernels package": [[15, null]], "pancax.physics_kernels.base module": [[15, "module-pancax.physics_kernels.base"]], "pancax.physics_kernels.burgers_equation module": [[15, "module-pancax.physics_kernels.burgers_equation"]], "pancax.physics_kernels.heat_equation module": [[15, "module-pancax.physics_kernels.heat_equation"]], "pancax.physics_kernels.laplace_beltrami module": [[15, "module-pancax.physics_kernels.laplace_beltrami"]], "pancax.physics_kernels.poisson module": [[15, "module-pancax.physics_kernels.poisson"]], "pancax.physics_kernels.solid_mechanics module": [[15, "module-pancax.physics_kernels.solid_mechanics"]], "pancax.post_processor module": [[2, "module-pancax.post_processor"]], "pancax.problems package": [[16, null]], "pancax.problems.forward_problem module": [[16, "module-pancax.problems.forward_problem"]], "pancax.problems.inverse_problem module": [[16, "module-pancax.problems.inverse_problem"]], "pancax.timer module": [[2, "module-pancax.timer"]], "pancax.trainer module": [[2, "module-pancax.trainer"]], "pancax.utils module": [[2, "module-pancax.utils"]]}, "docnames": ["index", "modules", "pancax", "pancax.bcs", "pancax.bvps", "pancax.constitutive_models", "pancax.data", "pancax.domains", "pancax.fem", "pancax.fem.elements", "pancax.kernels", "pancax.loss_functions", "pancax.math", "pancax.networks", "pancax.optimizers", "pancax.physics_kernels", "pancax.problems"], "envversion": {"sphinx": 64, "sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.viewcode": 1}, "filenames": ["index.rst", "modules.rst", "pancax.rst", "pancax.bcs.rst", "pancax.bvps.rst", "pancax.constitutive_models.rst", "pancax.data.rst", "pancax.domains.rst", "pancax.fem.rst", "pancax.fem.elements.rst", "pancax.kernels.rst", "pancax.loss_functions.rst", "pancax.math.rst", "pancax.networks.rst", "pancax.optimizers.rst", "pancax.physics_kernels.rst", "pancax.problems.rst"], "indexentries": {"__init__() (pancax.bcs.essential_bc.essentialbc method)": [[3, "pancax.bcs.essential_bc.EssentialBC.__init__", false]], "__init__() (pancax.bcs.essential_bc.essentialbcset method)": [[3, "pancax.bcs.essential_bc.EssentialBCSet.__init__", false]], "__init__() (pancax.bcs.natural_bc.naturalbc method)": [[3, "pancax.bcs.natural_bc.NaturalBC.__init__", false]], "__init__() (pancax.constitutive_models.base.baseconstitutivemodel method)": [[5, "pancax.constitutive_models.base.BaseConstitutiveModel.__init__", false]], "__init__() (pancax.constitutive_models.blatz_ko.blatzko method)": [[5, "pancax.constitutive_models.blatz_ko.BlatzKo.__init__", false]], "__init__() (pancax.constitutive_models.gent.gent method)": [[5, "pancax.constitutive_models.gent.Gent.__init__", false]], "__init__() (pancax.constitutive_models.neohookean.neohookean method)": [[5, "pancax.constitutive_models.neohookean.NeoHookean.__init__", false]], "__init__() (pancax.constitutive_models.properties.boundedproperty method)": [[5, "pancax.constitutive_models.properties.BoundedProperty.__init__", false]], "__init__() (pancax.constitutive_models.swanson.swanson method)": [[5, "pancax.constitutive_models.swanson.Swanson.__init__", false]], "__init__() (pancax.data.full_field_data.fullfielddata method)": [[6, "pancax.data.full_field_data.FullFieldData.__init__", false]], "__init__() (pancax.data.global_data.globaldata method)": [[6, "pancax.data.global_data.GlobalData.__init__", false]], "__init__() (pancax.domains.base.basedomain method)": [[7, "pancax.domains.base.BaseDomain.__init__", false]], "__init__() (pancax.domains.collocation_domain.collocationdomain method)": [[7, "pancax.domains.collocation_domain.CollocationDomain.__init__", false]], "__init__() (pancax.domains.delta_pinn_domain.deltapinndomain method)": [[7, "pancax.domains.delta_pinn_domain.DeltaPINNDomain.__init__", false]], "__init__() (pancax.domains.variational_domain.variationaldomain method)": [[7, "pancax.domains.variational_domain.VariationalDomain.__init__", false]], "__init__() (pancax.fem.dof_manager.dofmanager method)": [[8, "pancax.fem.dof_manager.DofManager.__init__", false]], "__init__() (pancax.fem.elements.base_element.baseelement method)": [[9, "pancax.fem.elements.base_element.BaseElement.__init__", false]], "__init__() (pancax.fem.elements.hex8_element.hex8element method)": [[9, "pancax.fem.elements.hex8_element.Hex8Element.__init__", false]], "__init__() (pancax.fem.elements.line_element.lineelement method)": [[9, "pancax.fem.elements.line_element.LineElement.__init__", false]], "__init__() (pancax.fem.elements.quad4_element.quad4element method)": [[9, "pancax.fem.elements.quad4_element.Quad4Element.__init__", false]], "__init__() (pancax.fem.elements.quad9_element.quad9element method)": [[9, "pancax.fem.elements.quad9_element.Quad9Element.__init__", false]], "__init__() (pancax.fem.elements.simplex_tri_element.simplextrielement method)": [[9, "pancax.fem.elements.simplex_tri_element.SimplexTriElement.__init__", false]], "__init__() (pancax.fem.elements.tet10_element.tet10element method)": [[9, "pancax.fem.elements.tet10_element.Tet10Element.__init__", false]], "__init__() (pancax.fem.elements.tet4_element.tet4element method)": [[9, "pancax.fem.elements.tet4_element.Tet4Element.__init__", false]], "__init__() (pancax.fem.function_space.functionspace method)": [[8, "pancax.fem.function_space.FunctionSpace.__init__", false]], "__init__() (pancax.fem.function_space.nonallocatedfunctionspace method)": [[8, "pancax.fem.function_space.NonAllocatedFunctionSpace.__init__", false]], "__init__() (pancax.fem.mesh.mesh method)": [[8, "pancax.fem.mesh.Mesh.__init__", false]], "__init__() (pancax.fem.quadrature_rules.quadraturerule method)": [[8, "pancax.fem.quadrature_rules.QuadratureRule.__init__", false]], "__init__() (pancax.history_writer.basehistorywriter method)": [[2, "pancax.history_writer.BaseHistoryWriter.__init__", false]], "__init__() (pancax.history_writer.ensemblehistorywriter method)": [[2, "pancax.history_writer.EnsembleHistoryWriter.__init__", false]], "__init__() (pancax.history_writer.historywriter method)": [[2, "pancax.history_writer.HistoryWriter.__init__", false]], "__init__() (pancax.kernels.base_kernel.physicskernel method)": [[10, "pancax.kernels.base_kernel.PhysicsKernel.__init__", false]], "__init__() (pancax.kernels.base_kernel.strongformphysicskernel method)": [[10, "pancax.kernels.base_kernel.StrongFormPhysicsKernel.__init__", false]], "__init__() (pancax.kernels.base_kernel.weakformphysicskernel method)": [[10, "pancax.kernels.base_kernel.WeakFormPhysicsKernel.__init__", false]], "__init__() (pancax.kernels.laplace_beltrami.laplacebeltrami method)": [[10, "pancax.kernels.laplace_beltrami.LaplaceBeltrami.__init__", false]], "__init__() (pancax.kernels.linear_elasticity.linearelasticity2d method)": [[10, "pancax.kernels.linear_elasticity.LinearElasticity2D.__init__", false]], "__init__() (pancax.kernels.poisson.poisson method)": [[10, "pancax.kernels.poisson.Poisson.__init__", false]], "__init__() (pancax.logging.baselogger method)": [[2, "pancax.logging.BaseLogger.__init__", false]], "__init__() (pancax.logging.ensemblelogger method)": [[2, "pancax.logging.EnsembleLogger.__init__", false]], "__init__() (pancax.logging.logger method)": [[2, "pancax.logging.Logger.__init__", false]], "__init__() (pancax.loss_functions.base_loss_function.baselossfunction method)": [[11, "pancax.loss_functions.base_loss_function.BaseLossFunction.__init__", false]], "__init__() (pancax.loss_functions.base_loss_function.bclossfunction method)": [[11, "pancax.loss_functions.base_loss_function.BCLossFunction.__init__", false]], "__init__() (pancax.loss_functions.base_loss_function.physicslossfunction method)": [[11, "pancax.loss_functions.base_loss_function.PhysicsLossFunction.__init__", false]], "__init__() (pancax.loss_functions.bc_loss_functions.dirichletbcloss method)": [[11, "pancax.loss_functions.bc_loss_functions.DirichletBCLoss.__init__", false]], "__init__() (pancax.loss_functions.bc_loss_functions.neumannbcloss method)": [[11, "pancax.loss_functions.bc_loss_functions.NeumannBCLoss.__init__", false]], "__init__() (pancax.loss_functions.data_loss_functions.fullfielddataloss method)": [[11, "pancax.loss_functions.data_loss_functions.FullFieldDataLoss.__init__", false]], "__init__() (pancax.loss_functions.ic_loss_function.iclossfunction method)": [[11, "pancax.loss_functions.ic_loss_function.ICLossFunction.__init__", false]], "__init__() (pancax.loss_functions.strong_form_loss_functions.strongformresidualloss method)": [[11, "pancax.loss_functions.strong_form_loss_functions.StrongFormResidualLoss.__init__", false]], "__init__() (pancax.loss_functions.utils.combinelossfunctions method)": [[11, "pancax.loss_functions.utils.CombineLossFunctions.__init__", false]], "__init__() (pancax.loss_functions.weak_form_loss_functions.energyandresidualloss method)": [[11, "pancax.loss_functions.weak_form_loss_functions.EnergyAndResidualLoss.__init__", false]], "__init__() (pancax.loss_functions.weak_form_loss_functions.energyloss method)": [[11, "pancax.loss_functions.weak_form_loss_functions.EnergyLoss.__init__", false]], "__init__() (pancax.loss_functions.weak_form_loss_functions.energyresidualandreactionloss method)": [[11, "pancax.loss_functions.weak_form_loss_functions.EnergyResidualAndReactionLoss.__init__", false]], "__init__() (pancax.loss_functions.weak_form_loss_functions.incompressibleenergyandresidualloss method)": [[11, "pancax.loss_functions.weak_form_loss_functions.IncompressibleEnergyAndResidualLoss.__init__", false]], "__init__() (pancax.loss_functions.weak_form_loss_functions.incompressibleenergyloss method)": [[11, "pancax.loss_functions.weak_form_loss_functions.IncompressibleEnergyLoss.__init__", false]], "__init__() (pancax.loss_functions.weak_form_loss_functions.quadratureincompressibilityconstraint method)": [[11, "pancax.loss_functions.weak_form_loss_functions.QuadratureIncompressibilityConstraint.__init__", false]], "__init__() (pancax.loss_functions.weak_form_loss_functions.residualmseloss method)": [[11, "pancax.loss_functions.weak_form_loss_functions.ResidualMSELoss.__init__", false]], "__init__() (pancax.networks.elm.elm method)": [[13, "pancax.networks.elm.ELM.__init__", false]], "__init__() (pancax.networks.elm.elm2 method)": [[13, "pancax.networks.elm.ELM2.__init__", false]], "__init__() (pancax.networks.field_property_pair.basepancaxmodel method)": [[13, "pancax.networks.field_property_pair.BasePancaxModel.__init__", false]], "__init__() (pancax.networks.field_property_pair.fieldpropertypair method)": [[13, "pancax.networks.field_property_pair.FieldPropertyPair.__init__", false]], "__init__() (pancax.networks.properties.fixedproperties method)": [[13, "pancax.networks.properties.FixedProperties.__init__", false]], "__init__() (pancax.networks.properties.properties method)": [[13, "pancax.networks.properties.Properties.__init__", false]], "__init__() (pancax.networks.rbf.rbfbasis method)": [[13, "pancax.networks.rbf.RBFBasis.__init__", false]], "__init__() (pancax.optimizers.adam.adam method)": [[14, "pancax.optimizers.adam.Adam.__init__", false]], "__init__() (pancax.optimizers.base.optimizer method)": [[14, "pancax.optimizers.base.Optimizer.__init__", false]], "__init__() (pancax.optimizers.lbfgs.lbfgs method)": [[14, "pancax.optimizers.lbfgs.LBFGS.__init__", false]], "__init__() (pancax.physics_kernels.base.baseenergyformphysics method)": [[15, "pancax.physics_kernels.base.BaseEnergyFormPhysics.__init__", false]], "__init__() (pancax.physics_kernels.base.basephysics method)": [[15, "pancax.physics_kernels.base.BasePhysics.__init__", false]], "__init__() (pancax.physics_kernels.base.basestrongformphysics method)": [[15, "pancax.physics_kernels.base.BaseStrongFormPhysics.__init__", false]], "__init__() (pancax.physics_kernels.base.basevariationalformphysics method)": [[15, "pancax.physics_kernels.base.BaseVariationalFormPhysics.__init__", false]], "__init__() (pancax.physics_kernels.burgers_equation.burgersequation method)": [[15, "pancax.physics_kernels.burgers_equation.BurgersEquation.__init__", false]], "__init__() (pancax.physics_kernels.heat_equation.heatequation method)": [[15, "pancax.physics_kernels.heat_equation.HeatEquation.__init__", false]], "__init__() (pancax.physics_kernels.laplace_beltrami.laplacebeltrami method)": [[15, "pancax.physics_kernels.laplace_beltrami.LaplaceBeltrami.__init__", false]], "__init__() (pancax.physics_kernels.poisson.poisson method)": [[15, "pancax.physics_kernels.poisson.Poisson.__init__", false]], "__init__() (pancax.physics_kernels.solid_mechanics.basemechanicsformulation method)": [[15, "pancax.physics_kernels.solid_mechanics.BaseMechanicsFormulation.__init__", false]], "__init__() (pancax.physics_kernels.solid_mechanics.incompressibleplanestress method)": [[15, "pancax.physics_kernels.solid_mechanics.IncompressiblePlaneStress.__init__", false]], "__init__() (pancax.physics_kernels.solid_mechanics.planestrain method)": [[15, "pancax.physics_kernels.solid_mechanics.PlaneStrain.__init__", false]], "__init__() (pancax.physics_kernels.solid_mechanics.solidmechanics method)": [[15, "pancax.physics_kernels.solid_mechanics.SolidMechanics.__init__", false]], "__init__() (pancax.physics_kernels.solid_mechanics.threedimensional method)": [[15, "pancax.physics_kernels.solid_mechanics.ThreeDimensional.__init__", false]], "__init__() (pancax.post_processor.exoduspostprocessor method)": [[2, "pancax.post_processor.ExodusPostProcessor.__init__", false]], "__init__() (pancax.post_processor.postprocessor method)": [[2, "pancax.post_processor.PostProcessor.__init__", false]], "__init__() (pancax.post_processor.vtkpostprocessor method)": [[2, "pancax.post_processor.VtkPostProcessor.__init__", false]], "__init__() (pancax.problems.forward_problem.forwardproblem method)": [[16, "pancax.problems.forward_problem.ForwardProblem.__init__", false]], "__init__() (pancax.problems.inverse_problem.inverseproblem method)": [[16, "pancax.problems.inverse_problem.InverseProblem.__init__", false]], "__init__() (pancax.timer.timer method)": [[2, "pancax.timer.Timer.__init__", false]], "__init__() (pancax.trainer.trainer method)": [[2, "pancax.trainer.Trainer.__init__", false]], "_abc_impl (pancax.bcs.essential_bc.essentialbc attribute)": [[3, "pancax.bcs.essential_bc.EssentialBC._abc_impl", false]], "_abc_impl (pancax.bcs.essential_bc.essentialbcset attribute)": [[3, "pancax.bcs.essential_bc.EssentialBCSet._abc_impl", false]], "_abc_impl (pancax.bcs.natural_bc.naturalbc attribute)": [[3, "pancax.bcs.natural_bc.NaturalBC._abc_impl", false]], "_abc_impl (pancax.constitutive_models.base.baseconstitutivemodel attribute)": [[5, "pancax.constitutive_models.base.BaseConstitutiveModel._abc_impl", false]], "_abc_impl (pancax.constitutive_models.blatz_ko.blatzko attribute)": [[5, "pancax.constitutive_models.blatz_ko.BlatzKo._abc_impl", false]], "_abc_impl (pancax.constitutive_models.gent.gent attribute)": [[5, "pancax.constitutive_models.gent.Gent._abc_impl", false]], "_abc_impl (pancax.constitutive_models.neohookean.neohookean attribute)": [[5, "pancax.constitutive_models.neohookean.NeoHookean._abc_impl", false]], "_abc_impl (pancax.constitutive_models.properties.boundedproperty attribute)": [[5, "pancax.constitutive_models.properties.BoundedProperty._abc_impl", false]], "_abc_impl (pancax.constitutive_models.swanson.swanson attribute)": [[5, "pancax.constitutive_models.swanson.Swanson._abc_impl", false]], "_abc_impl (pancax.data.full_field_data.fullfielddata attribute)": [[6, "pancax.data.full_field_data.FullFieldData._abc_impl", false]], "_abc_impl (pancax.data.global_data.globaldata attribute)": [[6, "pancax.data.global_data.GlobalData._abc_impl", false]], "_abc_impl (pancax.domains.base.basedomain attribute)": [[7, "pancax.domains.base.BaseDomain._abc_impl", false]], "_abc_impl (pancax.domains.collocation_domain.collocationdomain attribute)": [[7, "pancax.domains.collocation_domain.CollocationDomain._abc_impl", false]], "_abc_impl (pancax.domains.delta_pinn_domain.deltapinndomain attribute)": [[7, "pancax.domains.delta_pinn_domain.DeltaPINNDomain._abc_impl", false]], "_abc_impl (pancax.domains.variational_domain.variationaldomain attribute)": [[7, "pancax.domains.variational_domain.VariationalDomain._abc_impl", false]], "_abc_impl (pancax.fem.elements.base_element.baseelement attribute)": [[9, "pancax.fem.elements.base_element.BaseElement._abc_impl", false]], "_abc_impl (pancax.fem.elements.hex8_element.hex8element attribute)": [[9, "pancax.fem.elements.hex8_element.Hex8Element._abc_impl", false]], "_abc_impl (pancax.fem.elements.line_element.lineelement attribute)": [[9, "pancax.fem.elements.line_element.LineElement._abc_impl", false]], "_abc_impl (pancax.fem.elements.quad4_element.quad4element attribute)": [[9, "pancax.fem.elements.quad4_element.Quad4Element._abc_impl", false]], "_abc_impl (pancax.fem.elements.quad9_element.quad9element attribute)": [[9, "pancax.fem.elements.quad9_element.Quad9Element._abc_impl", false]], "_abc_impl (pancax.fem.elements.simplex_tri_element.simplextrielement attribute)": [[9, "pancax.fem.elements.simplex_tri_element.SimplexTriElement._abc_impl", false]], "_abc_impl (pancax.fem.elements.tet10_element.tet10element attribute)": [[9, "pancax.fem.elements.tet10_element.Tet10Element._abc_impl", false]], "_abc_impl (pancax.fem.elements.tet4_element.tet4element attribute)": [[9, "pancax.fem.elements.tet4_element.Tet4Element._abc_impl", false]], "_abc_impl (pancax.fem.function_space.functionspace attribute)": [[8, "pancax.fem.function_space.FunctionSpace._abc_impl", false]], "_abc_impl (pancax.fem.function_space.nonallocatedfunctionspace attribute)": [[8, "pancax.fem.function_space.NonAllocatedFunctionSpace._abc_impl", false]], "_abc_impl (pancax.fem.mesh.mesh attribute)": [[8, "pancax.fem.mesh.Mesh._abc_impl", false]], "_abc_impl (pancax.fem.quadrature_rules.quadraturerule attribute)": [[8, "pancax.fem.quadrature_rules.QuadratureRule._abc_impl", false]], "_abc_impl (pancax.history_writer.basehistorywriter attribute)": [[2, "pancax.history_writer.BaseHistoryWriter._abc_impl", false]], "_abc_impl (pancax.history_writer.ensemblehistorywriter attribute)": [[2, "pancax.history_writer.EnsembleHistoryWriter._abc_impl", false]], "_abc_impl (pancax.history_writer.historywriter attribute)": [[2, "pancax.history_writer.HistoryWriter._abc_impl", false]], "_abc_impl (pancax.kernels.base_kernel.physicskernel attribute)": [[10, "pancax.kernels.base_kernel.PhysicsKernel._abc_impl", false]], "_abc_impl (pancax.kernels.base_kernel.strongformphysicskernel attribute)": [[10, "pancax.kernels.base_kernel.StrongFormPhysicsKernel._abc_impl", false]], "_abc_impl (pancax.kernels.base_kernel.weakformphysicskernel attribute)": [[10, "pancax.kernels.base_kernel.WeakFormPhysicsKernel._abc_impl", false]], "_abc_impl (pancax.kernels.laplace_beltrami.laplacebeltrami attribute)": [[10, "pancax.kernels.laplace_beltrami.LaplaceBeltrami._abc_impl", false]], "_abc_impl (pancax.kernels.linear_elasticity.linearelasticity2d attribute)": [[10, "pancax.kernels.linear_elasticity.LinearElasticity2D._abc_impl", false]], "_abc_impl (pancax.kernels.poisson.poisson attribute)": [[10, "pancax.kernels.poisson.Poisson._abc_impl", false]], "_abc_impl (pancax.logging.baselogger attribute)": [[2, "pancax.logging.BaseLogger._abc_impl", false]], "_abc_impl (pancax.logging.ensemblelogger attribute)": [[2, "pancax.logging.EnsembleLogger._abc_impl", false]], "_abc_impl (pancax.logging.logger attribute)": [[2, "pancax.logging.Logger._abc_impl", false]], "_abc_impl (pancax.loss_functions.base_loss_function.baselossfunction attribute)": [[11, "pancax.loss_functions.base_loss_function.BaseLossFunction._abc_impl", false]], "_abc_impl (pancax.loss_functions.base_loss_function.bclossfunction attribute)": [[11, "pancax.loss_functions.base_loss_function.BCLossFunction._abc_impl", false]], "_abc_impl (pancax.loss_functions.base_loss_function.physicslossfunction attribute)": [[11, "pancax.loss_functions.base_loss_function.PhysicsLossFunction._abc_impl", false]], "_abc_impl (pancax.loss_functions.bc_loss_functions.dirichletbcloss attribute)": [[11, "pancax.loss_functions.bc_loss_functions.DirichletBCLoss._abc_impl", false]], "_abc_impl (pancax.loss_functions.bc_loss_functions.neumannbcloss attribute)": [[11, "pancax.loss_functions.bc_loss_functions.NeumannBCLoss._abc_impl", false]], "_abc_impl (pancax.loss_functions.data_loss_functions.fullfielddataloss attribute)": [[11, "pancax.loss_functions.data_loss_functions.FullFieldDataLoss._abc_impl", false]], "_abc_impl (pancax.loss_functions.ic_loss_function.iclossfunction attribute)": [[11, "pancax.loss_functions.ic_loss_function.ICLossFunction._abc_impl", false]], "_abc_impl (pancax.loss_functions.strong_form_loss_functions.strongformresidualloss attribute)": [[11, "pancax.loss_functions.strong_form_loss_functions.StrongFormResidualLoss._abc_impl", false]], "_abc_impl (pancax.loss_functions.utils.combinelossfunctions attribute)": [[11, "pancax.loss_functions.utils.CombineLossFunctions._abc_impl", false]], "_abc_impl (pancax.loss_functions.weak_form_loss_functions.energyandresidualloss attribute)": [[11, "pancax.loss_functions.weak_form_loss_functions.EnergyAndResidualLoss._abc_impl", false]], "_abc_impl (pancax.loss_functions.weak_form_loss_functions.energyloss attribute)": [[11, "pancax.loss_functions.weak_form_loss_functions.EnergyLoss._abc_impl", false]], "_abc_impl (pancax.loss_functions.weak_form_loss_functions.energyresidualandreactionloss attribute)": [[11, "pancax.loss_functions.weak_form_loss_functions.EnergyResidualAndReactionLoss._abc_impl", false]], "_abc_impl (pancax.loss_functions.weak_form_loss_functions.incompressibleenergyandresidualloss attribute)": [[11, "pancax.loss_functions.weak_form_loss_functions.IncompressibleEnergyAndResidualLoss._abc_impl", false]], "_abc_impl (pancax.loss_functions.weak_form_loss_functions.incompressibleenergyloss attribute)": [[11, "pancax.loss_functions.weak_form_loss_functions.IncompressibleEnergyLoss._abc_impl", false]], "_abc_impl (pancax.loss_functions.weak_form_loss_functions.quadratureincompressibilityconstraint attribute)": [[11, "pancax.loss_functions.weak_form_loss_functions.QuadratureIncompressibilityConstraint._abc_impl", false]], "_abc_impl (pancax.loss_functions.weak_form_loss_functions.residualmseloss attribute)": [[11, "pancax.loss_functions.weak_form_loss_functions.ResidualMSELoss._abc_impl", false]], "_abc_impl (pancax.networks.elm.elm attribute)": [[13, "pancax.networks.elm.ELM._abc_impl", false]], "_abc_impl (pancax.networks.elm.elm2 attribute)": [[13, "pancax.networks.elm.ELM2._abc_impl", false]], "_abc_impl (pancax.networks.field_property_pair.basepancaxmodel attribute)": [[13, "pancax.networks.field_property_pair.BasePancaxModel._abc_impl", false]], "_abc_impl (pancax.networks.field_property_pair.fieldpropertypair attribute)": [[13, "pancax.networks.field_property_pair.FieldPropertyPair._abc_impl", false]], "_abc_impl (pancax.networks.properties.fixedproperties attribute)": [[13, "pancax.networks.properties.FixedProperties._abc_impl", false]], "_abc_impl (pancax.networks.properties.properties attribute)": [[13, "pancax.networks.properties.Properties._abc_impl", false]], "_abc_impl (pancax.networks.rbf.rbfbasis attribute)": [[13, "pancax.networks.rbf.RBFBasis._abc_impl", false]], "_abc_impl (pancax.optimizers.adam.adam attribute)": [[14, "pancax.optimizers.adam.Adam._abc_impl", false]], "_abc_impl (pancax.optimizers.base.optimizer attribute)": [[14, "pancax.optimizers.base.Optimizer._abc_impl", false]], "_abc_impl (pancax.optimizers.lbfgs.lbfgs attribute)": [[14, "pancax.optimizers.lbfgs.LBFGS._abc_impl", false]], "_abc_impl (pancax.physics_kernels.base.baseenergyformphysics attribute)": [[15, "pancax.physics_kernels.base.BaseEnergyFormPhysics._abc_impl", false]], "_abc_impl (pancax.physics_kernels.base.basephysics attribute)": [[15, "pancax.physics_kernels.base.BasePhysics._abc_impl", false]], "_abc_impl (pancax.physics_kernels.base.basestrongformphysics attribute)": [[15, "pancax.physics_kernels.base.BaseStrongFormPhysics._abc_impl", false]], "_abc_impl (pancax.physics_kernels.base.basevariationalformphysics attribute)": [[15, "pancax.physics_kernels.base.BaseVariationalFormPhysics._abc_impl", false]], "_abc_impl (pancax.physics_kernels.burgers_equation.burgersequation attribute)": [[15, "pancax.physics_kernels.burgers_equation.BurgersEquation._abc_impl", false]], "_abc_impl (pancax.physics_kernels.heat_equation.heatequation attribute)": [[15, "pancax.physics_kernels.heat_equation.HeatEquation._abc_impl", false]], "_abc_impl (pancax.physics_kernels.laplace_beltrami.laplacebeltrami attribute)": [[15, "pancax.physics_kernels.laplace_beltrami.LaplaceBeltrami._abc_impl", false]], "_abc_impl (pancax.physics_kernels.poisson.poisson attribute)": [[15, "pancax.physics_kernels.poisson.Poisson._abc_impl", false]], "_abc_impl (pancax.physics_kernels.solid_mechanics.basemechanicsformulation attribute)": [[15, "pancax.physics_kernels.solid_mechanics.BaseMechanicsFormulation._abc_impl", false]], "_abc_impl (pancax.physics_kernels.solid_mechanics.incompressibleplanestress attribute)": [[15, "pancax.physics_kernels.solid_mechanics.IncompressiblePlaneStress._abc_impl", false]], "_abc_impl (pancax.physics_kernels.solid_mechanics.planestrain attribute)": [[15, "pancax.physics_kernels.solid_mechanics.PlaneStrain._abc_impl", false]], "_abc_impl (pancax.physics_kernels.solid_mechanics.solidmechanics attribute)": [[15, "pancax.physics_kernels.solid_mechanics.SolidMechanics._abc_impl", false]], "_abc_impl (pancax.physics_kernels.solid_mechanics.threedimensional attribute)": [[15, "pancax.physics_kernels.solid_mechanics.ThreeDimensional._abc_impl", false]], "_abc_impl (pancax.problems.forward_problem.forwardproblem attribute)": [[16, "pancax.problems.forward_problem.ForwardProblem._abc_impl", false]], "_abc_impl (pancax.problems.inverse_problem.inverseproblem attribute)": [[16, "pancax.problems.inverse_problem.InverseProblem._abc_impl", false]], "_asdict() (pancax.fem.elements.base_element.shapefunctions method)": [[9, "pancax.fem.elements.base_element.ShapeFunctions._asdict", false]], "_check_other_type() (pancax.constitutive_models.properties.boundedproperty method)": [[5, "pancax.constitutive_models.properties.BoundedProperty._check_other_type", false]], "_field_defaults (pancax.fem.elements.base_element.shapefunctions attribute)": [[9, "pancax.fem.elements.base_element.ShapeFunctions._field_defaults", false]], "_fields (pancax.fem.elements.base_element.shapefunctions attribute)": [[9, "pancax.fem.elements.base_element.ShapeFunctions._fields", false]], "_float_split() (in module pancax.math.math)": [[12, "pancax.math.math._float_split", false]], "_gauss_quad_1d_1pt() (in module pancax.fem.quadrature_rules)": [[8, "pancax.fem.quadrature_rules._gauss_quad_1D_1pt", false]], "_gauss_quad_1d_2pt() (in module pancax.fem.quadrature_rules)": [[8, "pancax.fem.quadrature_rules._gauss_quad_1D_2pt", false]], "_gauss_quad_1d_3pt() (in module pancax.fem.quadrature_rules)": [[8, "pancax.fem.quadrature_rules._gauss_quad_1D_3pt", false]], "_gauss_quad_1d_4pt() (in module pancax.fem.quadrature_rules)": [[8, "pancax.fem.quadrature_rules._gauss_quad_1D_4pt", false]], "_gauss_quad_1d_5pt() (in module pancax.fem.quadrature_rules)": [[8, "pancax.fem.quadrature_rules._gauss_quad_1D_5pt", false]], "_get_vertex_nodes_from_exodus_tri6_mesh() (in module pancax.fem.read_exodus_mesh)": [[8, "pancax.fem.read_exodus_mesh._get_vertex_nodes_from_exodus_tri6_mesh", false]], "_logm_iss() (in module pancax.math.tensor_math)": [[12, "pancax.math.tensor_math._logm_iss", false]], "_make() (pancax.fem.elements.base_element.shapefunctions class method)": [[9, "pancax.fem.elements.base_element.ShapeFunctions._make", false]], "_make_hessian_bc_mask() (pancax.fem.dof_manager.dofmanager method)": [[8, "pancax.fem.dof_manager.DofManager._make_hessian_bc_mask", false]], "_make_hessian_coordinates() (pancax.fem.dof_manager.dofmanager method)": [[8, "pancax.fem.dof_manager.DofManager._make_hessian_coordinates", false]], "_read_block_conns() (in module pancax.fem.read_exodus_mesh)": [[8, "pancax.fem.read_exodus_mesh._read_block_conns", false]], "_read_blocks() (in module pancax.fem.read_exodus_mesh)": [[8, "pancax.fem.read_exodus_mesh._read_blocks", false]], "_read_coordinates() (in module pancax.fem.read_exodus_mesh)": [[8, "pancax.fem.read_exodus_mesh._read_coordinates", false]], "_read_element_type() (in module pancax.fem.read_exodus_mesh)": [[8, "pancax.fem.read_exodus_mesh._read_element_type", false]], "_read_names_list() (in module pancax.fem.read_exodus_mesh)": [[8, "pancax.fem.read_exodus_mesh._read_names_list", false]], "_read_node_sets() (in module pancax.fem.read_exodus_mesh)": [[8, "pancax.fem.read_exodus_mesh._read_node_sets", false]], "_read_side_sets() (in module pancax.fem.read_exodus_mesh)": [[8, "pancax.fem.read_exodus_mesh._read_side_sets", false]], "_replace() (pancax.fem.elements.base_element.shapefunctions method)": [[9, "pancax.fem.elements.base_element.ShapeFunctions._replace", false]], "_start_time (pancax.timer.timer attribute)": [[2, "pancax.timer.Timer._start_time", false]], "_two_product() (in module pancax.math.math)": [[12, "pancax.math.math._two_product", false]], "_two_sum() (in module pancax.math.math)": [[12, "pancax.math.math._two_sum", false]], "_write_loss() (pancax.history_writer.historywriter method)": [[2, "pancax.history_writer.HistoryWriter._write_loss", false]], "a1 (pancax.constitutive_models.swanson.swanson attribute)": [[5, "pancax.constitutive_models.swanson.Swanson.A1", false]], "activation() (in module pancax.networks.elm)": [[13, "pancax.networks.elm.activation", false]], "activation_func (pancax.networks.properties.properties attribute)": [[13, "pancax.networks.properties.Properties.activation_func", false]], "adam (class in pancax.optimizers.adam)": [[14, "pancax.optimizers.adam.Adam", false]], "assemble_sparse_stiffness_matrix() (in module pancax.fem.sparse_matrix_assembler)": [[8, "pancax.fem.sparse_matrix_assembler.assemble_sparse_stiffness_matrix", false]], "average_quadrature_field_over_element() (in module pancax.fem.function_space)": [[8, "pancax.fem.function_space.average_quadrature_field_over_element", false]], "b1 (pancax.constitutive_models.swanson.swanson attribute)": [[5, "pancax.constitutive_models.swanson.Swanson.B1", false]], "baseconstitutivemodel (class in pancax.constitutive_models.base)": [[5, "pancax.constitutive_models.base.BaseConstitutiveModel", false]], "basedomain (class in pancax.domains.base)": [[7, "pancax.domains.base.BaseDomain", false]], "baseelement (class in pancax.fem.elements.base_element)": [[9, "pancax.fem.elements.base_element.BaseElement", false]], "baseenergyformphysics (class in pancax.physics_kernels.base)": [[15, "pancax.physics_kernels.base.BaseEnergyFormPhysics", false]], "basehistorywriter (class in pancax.history_writer)": [[2, "pancax.history_writer.BaseHistoryWriter", false]], "baselogger (class in pancax.logging)": [[2, "pancax.logging.BaseLogger", false]], "baselossfunction (class in pancax.loss_functions.base_loss_function)": [[11, "pancax.loss_functions.base_loss_function.BaseLossFunction", false]], "basemechanicsformulation (class in pancax.physics_kernels.solid_mechanics)": [[15, "pancax.physics_kernels.solid_mechanics.BaseMechanicsFormulation", false]], "basepancaxmodel (class in pancax.networks.field_property_pair)": [[13, "pancax.networks.field_property_pair.BasePancaxModel", false]], "basephysics (class in pancax.physics_kernels.base)": [[15, "pancax.physics_kernels.base.BasePhysics", false]], "basestrongformphysics (class in pancax.physics_kernels.base)": [[15, "pancax.physics_kernels.base.BaseStrongFormPhysics", false]], "basevariationalformphysics (class in pancax.physics_kernels.base)": [[15, "pancax.physics_kernels.base.BaseVariationalFormPhysics", false]], "bc_func (pancax.kernels.base_kernel.physicskernel attribute)": [[10, "pancax.kernels.base_kernel.PhysicsKernel.bc_func", false]], "bc_func (pancax.kernels.base_kernel.strongformphysicskernel attribute)": [[10, "pancax.kernels.base_kernel.StrongFormPhysicsKernel.bc_func", false]], "bc_func (pancax.kernels.base_kernel.weakformphysicskernel attribute)": [[10, "pancax.kernels.base_kernel.WeakFormPhysicsKernel.bc_func", false]], "bclossfunction (class in pancax.loss_functions.base_loss_function)": [[11, "pancax.loss_functions.base_loss_function.BCLossFunction", false]], "bcs (pancax.bcs.essential_bc.essentialbcset attribute)": [[3, "pancax.bcs.essential_bc.EssentialBCSet.bcs", false]], "beta (pancax.networks.elm.elm attribute)": [[13, "pancax.networks.elm.ELM.beta", false]], "beta (pancax.networks.elm.elm2 attribute)": [[13, "pancax.networks.elm.ELM2.beta", false]], "biaxiallinearramp() (in module pancax.bvps.biaxial_tension)": [[4, "pancax.bvps.biaxial_tension.BiaxialLinearRamp", false]], "blatzko (class in pancax.constitutive_models.blatz_ko)": [[5, "pancax.constitutive_models.blatz_ko.BlatzKo", false]], "blocks (pancax.fem.mesh.mesh attribute)": [[8, "pancax.fem.mesh.Mesh.blocks", false]], "boundedproperty (class in pancax.constitutive_models.properties)": [[5, "pancax.constitutive_models.properties.BoundedProperty", false]], "box_init() (in module pancax.networks.initialization)": [[13, "pancax.networks.initialization.box_init", false]], "bulk_modulus (pancax.constitutive_models.gent.gent attribute)": [[5, "pancax.constitutive_models.gent.Gent.bulk_modulus", false]], "bulk_modulus (pancax.constitutive_models.neohookean.neohookean attribute)": [[5, "pancax.constitutive_models.neohookean.NeoHookean.bulk_modulus", false]], "bulk_modulus (pancax.constitutive_models.swanson.swanson attribute)": [[5, "pancax.constitutive_models.swanson.Swanson.bulk_modulus", false]], "burgersequation (class in pancax.physics_kernels.burgers_equation)": [[15, "pancax.physics_kernels.burgers_equation.BurgersEquation", false]], "c1 (pancax.constitutive_models.swanson.swanson attribute)": [[5, "pancax.constitutive_models.swanson.Swanson.C1", false]], "cauchy_stress() (pancax.constitutive_models.base.baseconstitutivemodel method)": [[5, "pancax.constitutive_models.base.BaseConstitutiveModel.cauchy_stress", false]], "cauchy_stress() (pancax.kernels.linear_elasticity.linearelasticity2d method)": [[10, "pancax.kernels.linear_elasticity.LinearElasticity2D.cauchy_stress", false]], "cell_type() (pancax.post_processor.vtkpostprocessor method)": [[2, "pancax.post_processor.VtkPostProcessor.cell_type", false]], "center (pancax.networks.rbf.rbfbasis attribute)": [[13, "pancax.networks.rbf.RBFBasis.center", false]], "check_variable_names() (pancax.post_processor.exoduspostprocessor method)": [[2, "pancax.post_processor.ExodusPostProcessor.check_variable_names", false]], "close() (pancax.post_processor.exoduspostprocessor method)": [[2, "pancax.post_processor.ExodusPostProcessor.close", false]], "close() (pancax.post_processor.postprocessor method)": [[2, "pancax.post_processor.PostProcessor.close", false]], "close() (pancax.post_processor.vtkpostprocessor method)": [[2, "pancax.post_processor.VtkPostProcessor.close", false]], "collocationdomain (class in pancax.domains.collocation_domain)": [[7, "pancax.domains.collocation_domain.CollocationDomain", false]], "combine_blocks() (in module pancax.fem.mesh)": [[8, "pancax.fem.mesh.combine_blocks", false]], "combine_mesh() (in module pancax.fem.mesh)": [[8, "pancax.fem.mesh.combine_mesh", false]], "combine_nodesets() (in module pancax.fem.mesh)": [[8, "pancax.fem.mesh.combine_nodesets", false]], "combine_sidesets() (in module pancax.fem.mesh)": [[8, "pancax.fem.mesh.combine_sidesets", false]], "combinelossfunctions (class in pancax.loss_functions.utils)": [[11, "pancax.loss_functions.utils.CombineLossFunctions", false]], "component (pancax.bcs.essential_bc.essentialbc attribute)": [[3, "pancax.bcs.essential_bc.EssentialBC.component", false]], "compute_deviatoric_tensor() (in module pancax.math.tensor_math)": [[12, "pancax.math.tensor_math.compute_deviatoric_tensor", false]], "compute_edge_vectors() (in module pancax.fem.mesh)": [[8, "pancax.fem.mesh.compute_edge_vectors", false]], "compute_edge_vectors() (in module pancax.fem.surface)": [[8, "pancax.fem.surface.compute_edge_vectors", false]], "compute_element_field_gradient() (in module pancax.fem.function_space)": [[8, "pancax.fem.function_space.compute_element_field_gradient", false]], "compute_element_volumes() (in module pancax.fem.function_space)": [[8, "pancax.fem.function_space.compute_element_volumes", false]], "compute_element_volumes_axisymmetric() (in module pancax.fem.function_space)": [[8, "pancax.fem.function_space.compute_element_volumes_axisymmetric", false]], "compute_field_gradient() (in module pancax.fem.function_space)": [[8, "pancax.fem.function_space.compute_field_gradient", false]], "compute_field_gradient() (pancax.fem.function_space.nonallocatedfunctionspace method)": [[8, "pancax.fem.function_space.NonAllocatedFunctionSpace.compute_field_gradient", false]], "compute_normal() (in module pancax.fem.surface)": [[8, "pancax.fem.surface.compute_normal", false]], "compute_quadrature_point_field_gradient() (in module pancax.fem.function_space)": [[8, "pancax.fem.function_space.compute_quadrature_point_field_gradient", false]], "compute_shapes() (pancax.fem.elements.base_element.baseelement method)": [[9, "pancax.fem.elements.base_element.BaseElement.compute_shapes", false]], "compute_shapes() (pancax.fem.elements.hex8_element.hex8element method)": [[9, "pancax.fem.elements.hex8_element.Hex8Element.compute_shapes", false]], "compute_shapes() (pancax.fem.elements.line_element.lineelement method)": [[9, "pancax.fem.elements.line_element.LineElement.compute_shapes", false]], "compute_shapes() (pancax.fem.elements.quad4_element.quad4element method)": [[9, "pancax.fem.elements.quad4_element.Quad4Element.compute_shapes", false]], "compute_shapes() (pancax.fem.elements.quad9_element.quad9element method)": [[9, "pancax.fem.elements.quad9_element.Quad9Element.compute_shapes", false]], "compute_shapes() (pancax.fem.elements.simplex_tri_element.simplextrielement method)": [[9, "pancax.fem.elements.simplex_tri_element.SimplexTriElement.compute_shapes", false]], "compute_shapes() (pancax.fem.elements.tet10_element.tet10element method)": [[9, "pancax.fem.elements.tet10_element.Tet10Element.compute_shapes", false]], "compute_shapes() (pancax.fem.elements.tet4_element.tet4element method)": [[9, "pancax.fem.elements.tet4_element.Tet4Element.compute_shapes", false]], "compute_traction_potential_energy() (in module pancax.fem.traction_bc)": [[8, "pancax.fem.traction_bc.compute_traction_potential_energy", false]], "compute_traction_potential_energy_on_edge() (in module pancax.fem.traction_bc)": [[8, "pancax.fem.traction_bc.compute_traction_potential_energy_on_edge", false]], "conns (pancax.domains.variational_domain.variationaldomain attribute)": [[7, "pancax.domains.variational_domain.VariationalDomain.conns", false]], "conns (pancax.fem.function_space.functionspace attribute)": [[8, "pancax.fem.function_space.FunctionSpace.conns", false]], "conns (pancax.fem.mesh.mesh attribute)": [[8, "pancax.fem.mesh.Mesh.conns", false]], "conns (pancax.problems.forward_problem.forwardproblem property)": [[16, "pancax.problems.forward_problem.ForwardProblem.conns", false]], "constitutive_model (pancax.physics_kernels.solid_mechanics.solidmechanics attribute)": [[15, "pancax.physics_kernels.solid_mechanics.SolidMechanics.constitutive_model", false]], "construct_function_space() (in module pancax.fem.function_space)": [[8, "pancax.fem.function_space.construct_function_space", false]], "construct_function_space_from_parent_element() (in module pancax.fem.function_space)": [[8, "pancax.fem.function_space.construct_function_space_from_parent_element", false]], "construct_mesh_from_basic_data() (in module pancax.fem.mesh)": [[8, "pancax.fem.mesh.construct_mesh_from_basic_data", false]], "construct_structured_mesh() (in module pancax.fem.mesh)": [[8, "pancax.fem.mesh.construct_structured_mesh", false]], "convert_exodus_to_xml() (pancax.post_processor.vtkpostprocessor method)": [[2, "pancax.post_processor.VtkPostProcessor.convert_exodus_to_xml", false]], "coordinates (pancax.fem.elements.base_element.baseelement attribute)": [[9, "pancax.fem.elements.base_element.BaseElement.coordinates", false]], "coordinates (pancax.fem.elements.hex8_element.hex8element attribute)": [[9, "pancax.fem.elements.hex8_element.Hex8Element.coordinates", false]], "coordinates (pancax.fem.elements.line_element.lineelement attribute)": [[9, "pancax.fem.elements.line_element.LineElement.coordinates", false]], "coordinates (pancax.fem.elements.quad4_element.quad4element attribute)": [[9, "pancax.fem.elements.quad4_element.Quad4Element.coordinates", false]], "coordinates (pancax.fem.elements.quad9_element.quad9element attribute)": [[9, "pancax.fem.elements.quad9_element.Quad9Element.coordinates", false]], "coordinates (pancax.fem.elements.simplex_tri_element.simplextrielement attribute)": [[9, "pancax.fem.elements.simplex_tri_element.SimplexTriElement.coordinates", false]], "coordinates (pancax.fem.elements.tet10_element.tet10element attribute)": [[9, "pancax.fem.elements.tet10_element.Tet10Element.coordinates", false]], "coordinates (pancax.fem.elements.tet4_element.tet4element attribute)": [[9, "pancax.fem.elements.tet4_element.Tet4Element.coordinates", false]], "coordinates() (pancax.bcs.essential_bc.essentialbc method)": [[3, "pancax.bcs.essential_bc.EssentialBC.coordinates", false]], "coordinates() (pancax.bcs.natural_bc.naturalbc method)": [[3, "pancax.bcs.natural_bc.NaturalBC.coordinates", false]], "coords (pancax.domains.base.basedomain attribute)": [[7, "pancax.domains.base.BaseDomain.coords", false]], "coords (pancax.domains.collocation_domain.collocationdomain attribute)": [[7, "pancax.domains.collocation_domain.CollocationDomain.coords", false]], "coords (pancax.domains.variational_domain.variationaldomain attribute)": [[7, "pancax.domains.variational_domain.VariationalDomain.coords", false]], "coords (pancax.fem.mesh.mesh attribute)": [[8, "pancax.fem.mesh.Mesh.coords", false]], "coords (pancax.problems.forward_problem.forwardproblem property)": [[16, "pancax.problems.forward_problem.ForwardProblem.coords", false]], "copy_mesh() (pancax.post_processor.exoduspostprocessor method)": [[2, "pancax.post_processor.ExodusPostProcessor.copy_mesh", false]], "cos_of_acos_divided_by_3() (in module pancax.math.tensor_math)": [[12, "pancax.math.tensor_math.cos_of_acos_divided_by_3", false]], "create_edges() (in module pancax.fem.mesh)": [[8, "pancax.fem.mesh.create_edges", false]], "create_edges() (in module pancax.fem.surface)": [[8, "pancax.fem.surface.create_edges", false]], "create_field() (pancax.fem.dof_manager.dofmanager method)": [[8, "pancax.fem.dof_manager.DofManager.create_field", false]], "create_field_methods() (in module pancax.kinematics)": [[2, "pancax.kinematics.create_field_methods", false]], "create_higher_order_mesh_from_simplex_mesh() (in module pancax.fem.mesh)": [[8, "pancax.fem.mesh.create_higher_order_mesh_from_simplex_mesh", false]], "create_nodesets_from_sidesets() (in module pancax.fem.mesh)": [[8, "pancax.fem.mesh.create_nodesets_from_sidesets", false]], "create_padded_quadrature_rule_1d() (in module pancax.fem.quadrature_rules)": [[8, "pancax.fem.quadrature_rules.create_padded_quadrature_rule_1D", false]], "create_quadrature_rule_1d() (in module pancax.fem.quadrature_rules)": [[8, "pancax.fem.quadrature_rules.create_quadrature_rule_1D", false]], "create_quadrature_rule_on_hex() (in module pancax.fem.quadrature_rules)": [[8, "pancax.fem.quadrature_rules.create_quadrature_rule_on_hex", false]], "create_quadrature_rule_on_quad() (in module pancax.fem.quadrature_rules)": [[8, "pancax.fem.quadrature_rules.create_quadrature_rule_on_quad", false]], "create_quadrature_rule_on_tet() (in module pancax.fem.quadrature_rules)": [[8, "pancax.fem.quadrature_rules.create_quadrature_rule_on_tet", false]], "create_quadrature_rule_on_triangle() (in module pancax.fem.quadrature_rules)": [[8, "pancax.fem.quadrature_rules.create_quadrature_rule_on_triangle", false]], "create_structured_mesh_data() (in module pancax.fem.mesh)": [[8, "pancax.fem.mesh.create_structured_mesh_data", false]], "cutoff_strain (pancax.constitutive_models.swanson.swanson attribute)": [[5, "pancax.constitutive_models.swanson.Swanson.cutoff_strain", false]], "data_dict (pancax.history_writer.historywriter attribute)": [[2, "pancax.history_writer.HistoryWriter.data_dict", false]], "datafilenotfoundexception": [[2, "pancax.utils.DataFileNotFoundException", false]], "default_modify_element_gradient() (in module pancax.fem.function_space)": [[8, "pancax.fem.function_space.default_modify_element_gradient", false]], "deformation_gradient() (pancax.physics_kernels.solid_mechanics.incompressibleplanestress method)": [[15, "pancax.physics_kernels.solid_mechanics.IncompressiblePlaneStress.deformation_gradient", false]], "deformation_gradients() (in module pancax.kinematics)": [[2, "pancax.kinematics.deformation_gradients", false]], "degree (pancax.fem.elements.base_element.baseelement attribute)": [[9, "pancax.fem.elements.base_element.BaseElement.degree", false]], "degree (pancax.fem.elements.hex8_element.hex8element attribute)": [[9, "pancax.fem.elements.hex8_element.Hex8Element.degree", false]], "degree (pancax.fem.elements.line_element.lineelement attribute)": [[9, "pancax.fem.elements.line_element.LineElement.degree", false]], "degree (pancax.fem.elements.quad4_element.quad4element attribute)": [[9, "pancax.fem.elements.quad4_element.Quad4Element.degree", false]], "degree (pancax.fem.elements.quad9_element.quad9element attribute)": [[9, "pancax.fem.elements.quad9_element.Quad9Element.degree", false]], "degree (pancax.fem.elements.simplex_tri_element.simplextrielement attribute)": [[9, "pancax.fem.elements.simplex_tri_element.SimplexTriElement.degree", false]], "degree (pancax.fem.elements.tet10_element.tet10element attribute)": [[9, "pancax.fem.elements.tet10_element.Tet10Element.degree", false]], "degree (pancax.fem.elements.tet4_element.tet4element attribute)": [[9, "pancax.fem.elements.tet4_element.Tet4Element.degree", false]], "deltapinndomain (class in pancax.domains.delta_pinn_domain)": [[7, "pancax.domains.delta_pinn_domain.DeltaPINNDomain", false]], "dev() (in module pancax.math.tensor_math)": [[12, "pancax.math.tensor_math.dev", false]], "dirichlet_bc_func (pancax.physics_kernels.base.basephysics attribute)": [[15, "pancax.physics_kernels.base.BasePhysics.dirichlet_bc_func", false]], "dirichletbcloss (class in pancax.loss_functions.bc_loss_functions)": [[11, "pancax.loss_functions.bc_loss_functions.DirichletBCLoss", false]], "displacements (pancax.data.global_data.globaldata attribute)": [[6, "pancax.data.global_data.GlobalData.displacements", false]], "distance() (in module pancax.bcs.distance_functions)": [[3, "pancax.bcs.distance_functions.distance", false]], "distance_function() (in module pancax.bcs.distance_functions)": [[3, "pancax.bcs.distance_functions.distance_function", false]], "dof_manager (pancax.domains.variational_domain.variationaldomain attribute)": [[7, "pancax.domains.variational_domain.VariationalDomain.dof_manager", false]], "dof_manager (pancax.problems.forward_problem.forwardproblem property)": [[16, "pancax.problems.forward_problem.ForwardProblem.dof_manager", false]], "dofmanager (class in pancax.fem.dof_manager)": [[8, "pancax.fem.dof_manager.DofManager", false]], "domain (pancax.problems.forward_problem.forwardproblem attribute)": [[16, "pancax.problems.forward_problem.ForwardProblem.domain", false]], "domainphysicscompatabilityerror": [[16, "pancax.problems.forward_problem.DomainPhysicsCompatabilityError", false]], "dot2() (in module pancax.math.math)": [[12, "pancax.math.math.dot2", false]], "eigen_modes (pancax.domains.delta_pinn_domain.deltapinndomain attribute)": [[7, "pancax.domains.delta_pinn_domain.DeltaPINNDomain.eigen_modes", false]], "eigen_sym33_non_unit() (in module pancax.math.tensor_math)": [[12, "pancax.math.tensor_math.eigen_sym33_non_unit", false]], "eigen_sym33_unit() (in module pancax.math.tensor_math)": [[12, "pancax.math.tensor_math.eigen_sym33_unit", false]], "element_energy() (pancax.physics_kernels.base.baseenergyformphysics method)": [[15, "pancax.physics_kernels.base.BaseEnergyFormPhysics.element_energy", false]], "element_field_gradient() (pancax.kernels.base_kernel.weakformphysicskernel method)": [[10, "pancax.kernels.base_kernel.WeakFormPhysicsKernel.element_field_gradient", false]], "element_kinetic_energy() (pancax.physics_kernels.base.baseenergyformphysics method)": [[15, "pancax.physics_kernels.base.BaseEnergyFormPhysics.element_kinetic_energy", false]], "element_pp() (in module pancax.kernels.base_kernel)": [[10, "pancax.kernels.base_kernel.element_pp", false]], "element_quantity() (in module pancax.physics)": [[2, "pancax.physics.element_quantity", false]], "element_quantity() (pancax.kernels.base_kernel.weakformphysicskernel method)": [[10, "pancax.kernels.base_kernel.WeakFormPhysicsKernel.element_quantity", false]], "element_quantity_grad() (in module pancax.physics)": [[2, "pancax.physics.element_quantity_grad", false]], "element_quantity_grad() (pancax.kernels.base_kernel.weakformphysicskernel method)": [[10, "pancax.kernels.base_kernel.WeakFormPhysicsKernel.element_quantity_grad", false]], "element_quantity_hessian() (in module pancax.physics)": [[2, "pancax.physics.element_quantity_hessian", false]], "element_quantity_hessian() (pancax.kernels.base_kernel.weakformphysicskernel method)": [[10, "pancax.kernels.base_kernel.WeakFormPhysicsKernel.element_quantity_hessian", false]], "element_quantity_new() (in module pancax.physics)": [[2, "pancax.physics.element_quantity_new", false]], "elementtype (pancax.fem.elements.base_element.baseelement attribute)": [[9, "pancax.fem.elements.base_element.BaseElement.elementType", false]], "elementtype (pancax.fem.elements.hex8_element.hex8element attribute)": [[9, "pancax.fem.elements.hex8_element.Hex8Element.elementType", false]], "elementtype (pancax.fem.elements.line_element.lineelement attribute)": [[9, "pancax.fem.elements.line_element.LineElement.elementType", false]], "elementtype (pancax.fem.elements.quad4_element.quad4element attribute)": [[9, "pancax.fem.elements.quad4_element.Quad4Element.elementType", false]], "elementtype (pancax.fem.elements.quad9_element.quad9element attribute)": [[9, "pancax.fem.elements.quad9_element.Quad9Element.elementType", false]], "elementtype (pancax.fem.elements.simplex_tri_element.simplextrielement attribute)": [[9, "pancax.fem.elements.simplex_tri_element.SimplexTriElement.elementType", false]], "elementtype (pancax.fem.elements.tet10_element.tet10element attribute)": [[9, "pancax.fem.elements.tet10_element.Tet10Element.elementType", false]], "elementtype (pancax.fem.elements.tet4_element.tet4element attribute)": [[9, "pancax.fem.elements.tet4_element.Tet4Element.elementType", false]], "elm (class in pancax.networks.elm)": [[13, "pancax.networks.elm.ELM", false]], "elm2 (class in pancax.networks.elm)": [[13, "pancax.networks.elm.ELM2", false]], "energy() (pancax.constitutive_models.base.baseconstitutivemodel method)": [[5, "pancax.constitutive_models.base.BaseConstitutiveModel.energy", false]], "energy() (pancax.constitutive_models.blatz_ko.blatzko method)": [[5, "pancax.constitutive_models.blatz_ko.BlatzKo.energy", false]], "energy() (pancax.constitutive_models.gent.gent method)": [[5, "pancax.constitutive_models.gent.Gent.energy", false]], "energy() (pancax.constitutive_models.neohookean.neohookean method)": [[5, "pancax.constitutive_models.neohookean.NeoHookean.energy", false]], "energy() (pancax.constitutive_models.swanson.swanson method)": [[5, "pancax.constitutive_models.swanson.Swanson.energy", false]], "energy() (pancax.kernels.base_kernel.weakformphysicskernel method)": [[10, "pancax.kernels.base_kernel.WeakFormPhysicsKernel.energy", false]], "energy() (pancax.kernels.laplace_beltrami.laplacebeltrami method)": [[10, "pancax.kernels.laplace_beltrami.LaplaceBeltrami.energy", false]], "energy() (pancax.kernels.linear_elasticity.linearelasticity2d method)": [[10, "pancax.kernels.linear_elasticity.LinearElasticity2D.energy", false]], "energy() (pancax.kernels.poisson.poisson method)": [[10, "pancax.kernels.poisson.Poisson.energy", false]], "energy() (pancax.physics_kernels.base.baseenergyformphysics method)": [[15, "pancax.physics_kernels.base.BaseEnergyFormPhysics.energy", false]], "energy() (pancax.physics_kernels.laplace_beltrami.laplacebeltrami method)": [[15, "pancax.physics_kernels.laplace_beltrami.LaplaceBeltrami.energy", false]], "energy() (pancax.physics_kernels.poisson.poisson method)": [[15, "pancax.physics_kernels.poisson.Poisson.energy", false]], "energy() (pancax.physics_kernels.solid_mechanics.solidmechanics method)": [[15, "pancax.physics_kernels.solid_mechanics.SolidMechanics.energy", false]], "energy_weight (pancax.loss_functions.weak_form_loss_functions.energyandresidualloss attribute)": [[11, "pancax.loss_functions.weak_form_loss_functions.EnergyAndResidualLoss.energy_weight", false]], "energy_weight (pancax.loss_functions.weak_form_loss_functions.energyresidualandreactionloss attribute)": [[11, "pancax.loss_functions.weak_form_loss_functions.EnergyResidualAndReactionLoss.energy_weight", false]], "energy_weight (pancax.loss_functions.weak_form_loss_functions.incompressibleenergyandresidualloss attribute)": [[11, "pancax.loss_functions.weak_form_loss_functions.IncompressibleEnergyAndResidualLoss.energy_weight", false]], "energyandresidualloss (class in pancax.loss_functions.weak_form_loss_functions)": [[11, "pancax.loss_functions.weak_form_loss_functions.EnergyAndResidualLoss", false]], "energyloss (class in pancax.loss_functions.weak_form_loss_functions)": [[11, "pancax.loss_functions.weak_form_loss_functions.EnergyLoss", false]], "energyresidualandreactionloss (class in pancax.loss_functions.weak_form_loss_functions)": [[11, "pancax.loss_functions.weak_form_loss_functions.EnergyResidualAndReactionLoss", false]], "ensemble_init() (pancax.optimizers.base.optimizer method)": [[14, "pancax.optimizers.base.Optimizer.ensemble_init", false]], "ensemble_step_old() (pancax.optimizers.base.optimizer method)": [[14, "pancax.optimizers.base.Optimizer.ensemble_step_old", false]], "ensemblehistorywriter (class in pancax.history_writer)": [[2, "pancax.history_writer.EnsembleHistoryWriter", false]], "ensemblelogger (class in pancax.logging)": [[2, "pancax.logging.EnsembleLogger", false]], "essential_bcs (pancax.problems.forward_problem.forwardproblem attribute)": [[16, "pancax.problems.forward_problem.ForwardProblem.essential_bcs", false]], "essentialbc (class in pancax.bcs.essential_bc)": [[3, "pancax.bcs.essential_bc.EssentialBC", false]], "essentialbcset (class in pancax.bcs.essential_bc)": [[3, "pancax.bcs.essential_bc.EssentialBCSet", false]], "eval_at_iso_points() (in module pancax.fem.quadrature_rules)": [[8, "pancax.fem.quadrature_rules.eval_at_iso_points", false]], "eval_at_iso_points() (pancax.fem.quadrature_rules.quadraturerule method)": [[8, "pancax.fem.quadrature_rules.QuadratureRule.eval_at_iso_points", false]], "eval_field() (in module pancax.fem.surface)": [[8, "pancax.fem.surface.eval_field", false]], "evaluate_on_block() (in module pancax.fem.function_space)": [[8, "pancax.fem.function_space.evaluate_on_block", false]], "evaluate_on_element() (in module pancax.fem.function_space)": [[8, "pancax.fem.function_space.evaluate_on_element", false]], "evaluate_on_element() (pancax.fem.function_space.nonallocatedfunctionspace method)": [[8, "pancax.fem.function_space.NonAllocatedFunctionSpace.evaluate_on_element", false]], "exoduspostprocessor (class in pancax.post_processor)": [[2, "pancax.post_processor.ExodusPostProcessor", false]], "extract_stress() (pancax.physics_kernels.solid_mechanics.planestrain method)": [[15, "pancax.physics_kernels.solid_mechanics.PlaneStrain.extract_stress", false]], "f (pancax.physics_kernels.poisson.poisson attribute)": [[15, "pancax.physics_kernels.poisson.Poisson.f", false]], "facenodes (pancax.fem.elements.base_element.baseelement attribute)": [[9, "pancax.fem.elements.base_element.BaseElement.faceNodes", false]], "facenodes (pancax.fem.elements.hex8_element.hex8element attribute)": [[9, "pancax.fem.elements.hex8_element.Hex8Element.faceNodes", false]], "facenodes (pancax.fem.elements.line_element.lineelement attribute)": [[9, "pancax.fem.elements.line_element.LineElement.faceNodes", false]], "facenodes (pancax.fem.elements.quad4_element.quad4element attribute)": [[9, "pancax.fem.elements.quad4_element.Quad4Element.faceNodes", false]], "facenodes (pancax.fem.elements.quad9_element.quad9element attribute)": [[9, "pancax.fem.elements.quad9_element.Quad9Element.faceNodes", false]], "facenodes (pancax.fem.elements.simplex_tri_element.simplextrielement attribute)": [[9, "pancax.fem.elements.simplex_tri_element.SimplexTriElement.faceNodes", false]], "facenodes (pancax.fem.elements.tet10_element.tet10element attribute)": [[9, "pancax.fem.elements.tet10_element.Tet10Element.faceNodes", false]], "facenodes (pancax.fem.elements.tet4_element.tet4element attribute)": [[9, "pancax.fem.elements.tet4_element.Tet4Element.faceNodes", false]], "field_data (pancax.problems.inverse_problem.inverseproblem attribute)": [[16, "pancax.problems.inverse_problem.InverseProblem.field_data", false]], "field_gradients() (pancax.kernels.base_kernel.strongformphysicskernel method)": [[10, "pancax.kernels.base_kernel.StrongFormPhysicsKernel.field_gradients", false]], "field_gradients() (pancax.physics_kernels.base.basephysics method)": [[15, "pancax.physics_kernels.base.BasePhysics.field_gradients", false]], "field_hessians() (pancax.kernels.base_kernel.strongformphysicskernel method)": [[10, "pancax.kernels.base_kernel.StrongFormPhysicsKernel.field_hessians", false]], "field_hessians() (pancax.physics_kernels.base.basephysics method)": [[15, "pancax.physics_kernels.base.BasePhysics.field_hessians", false]], "field_laplacians() (pancax.kernels.base_kernel.strongformphysicskernel method)": [[10, "pancax.kernels.base_kernel.StrongFormPhysicsKernel.field_laplacians", false]], "field_laplacians() (pancax.physics_kernels.base.basephysics method)": [[15, "pancax.physics_kernels.base.BasePhysics.field_laplacians", false]], "field_names (pancax.kernels.laplace_beltrami.laplacebeltrami attribute)": [[10, "pancax.kernels.laplace_beltrami.LaplaceBeltrami.field_names", false]], "field_second_time_derivatives() (pancax.kernels.base_kernel.strongformphysicskernel method)": [[10, "pancax.kernels.base_kernel.StrongFormPhysicsKernel.field_second_time_derivatives", false]], "field_second_time_derivatives() (pancax.physics_kernels.base.basephysics method)": [[15, "pancax.physics_kernels.base.BasePhysics.field_second_time_derivatives", false]], "field_time_derivatives() (pancax.kernels.base_kernel.strongformphysicskernel method)": [[10, "pancax.kernels.base_kernel.StrongFormPhysicsKernel.field_time_derivatives", false]], "field_time_derivatives() (pancax.physics_kernels.base.basephysics method)": [[15, "pancax.physics_kernels.base.BasePhysics.field_time_derivatives", false]], "field_value_names (pancax.kernels.base_kernel.physicskernel attribute)": [[10, "pancax.kernels.base_kernel.PhysicsKernel.field_value_names", false]], "field_value_names (pancax.kernels.base_kernel.strongformphysicskernel attribute)": [[10, "pancax.kernels.base_kernel.StrongFormPhysicsKernel.field_value_names", false]], "field_value_names (pancax.kernels.base_kernel.weakformphysicskernel attribute)": [[10, "pancax.kernels.base_kernel.WeakFormPhysicsKernel.field_value_names", false]], "field_value_names (pancax.kernels.linear_elasticity.linearelasticity2d attribute)": [[10, "pancax.kernels.linear_elasticity.LinearElasticity2D.field_value_names", false]], "field_value_names (pancax.kernels.poisson.poisson attribute)": [[10, "pancax.kernels.poisson.Poisson.field_value_names", false]], "field_value_names (pancax.physics_kernels.base.baseenergyformphysics attribute)": [[15, "pancax.physics_kernels.base.BaseEnergyFormPhysics.field_value_names", false]], "field_value_names (pancax.physics_kernels.base.basephysics attribute)": [[15, "pancax.physics_kernels.base.BasePhysics.field_value_names", false]], "field_value_names (pancax.physics_kernels.base.basestrongformphysics attribute)": [[15, "pancax.physics_kernels.base.BaseStrongFormPhysics.field_value_names", false]], "field_value_names (pancax.physics_kernels.burgers_equation.burgersequation attribute)": [[15, "pancax.physics_kernels.burgers_equation.BurgersEquation.field_value_names", false]], "field_value_names (pancax.physics_kernels.heat_equation.heatequation attribute)": [[15, "pancax.physics_kernels.heat_equation.HeatEquation.field_value_names", false]], "field_value_names (pancax.physics_kernels.laplace_beltrami.laplacebeltrami attribute)": [[15, "pancax.physics_kernels.laplace_beltrami.LaplaceBeltrami.field_value_names", false]], "field_value_names (pancax.physics_kernels.poisson.poisson attribute)": [[15, "pancax.physics_kernels.poisson.Poisson.field_value_names", false]], "field_value_names (pancax.physics_kernels.solid_mechanics.solidmechanics attribute)": [[15, "pancax.physics_kernels.solid_mechanics.SolidMechanics.field_value_names", false]], "field_values() (pancax.physics_kernels.base.basephysics method)": [[15, "pancax.physics_kernels.base.BasePhysics.field_values", false]], "fieldpropertypair (class in pancax.networks.field_property_pair)": [[13, "pancax.networks.field_property_pair.FieldPropertyPair", false]], "fields (pancax.networks.field_property_pair.fieldpropertypair attribute)": [[13, "pancax.networks.field_property_pair.FieldPropertyPair.fields", false]], "filtered_loss() (pancax.loss_functions.base_loss_function.baselossfunction method)": [[11, "pancax.loss_functions.base_loss_function.BaseLossFunction.filtered_loss", false]], "find_data_file() (in module pancax.utils)": [[2, "pancax.utils.find_data_file", false]], "find_mesh_file() (in module pancax.utils)": [[2, "pancax.utils.find_mesh_file", false]], "fixedproperties (class in pancax.networks.properties)": [[13, "pancax.networks.properties.FixedProperties", false]], "flush() (pancax.logging.baselogger method)": [[2, "pancax.logging.BaseLogger.flush", false]], "flush() (pancax.logging.ensemblelogger method)": [[2, "pancax.logging.EnsembleLogger.flush", false]], "flush() (pancax.logging.logger method)": [[2, "pancax.logging.Logger.flush", false]], "formulation (pancax.physics_kernels.solid_mechanics.solidmechanics attribute)": [[15, "pancax.physics_kernels.solid_mechanics.SolidMechanics.formulation", false]], "forwardproblem (class in pancax.problems.forward_problem)": [[16, "pancax.problems.forward_problem.ForwardProblem", false]], "freeze_fields_filter() (pancax.networks.field_property_pair.fieldpropertypair method)": [[13, "pancax.networks.field_property_pair.FieldPropertyPair.freeze_fields_filter", false]], "freeze_props_filter() (pancax.networks.field_property_pair.fieldpropertypair method)": [[13, "pancax.networks.field_property_pair.FieldPropertyPair.freeze_props_filter", false]], "fspace (pancax.domains.variational_domain.variationaldomain attribute)": [[7, "pancax.domains.variational_domain.VariationalDomain.fspace", false]], "fspace (pancax.problems.forward_problem.forwardproblem property)": [[16, "pancax.problems.forward_problem.ForwardProblem.fspace", false]], "fspace_centroid (pancax.domains.variational_domain.variationaldomain attribute)": [[7, "pancax.domains.variational_domain.VariationalDomain.fspace_centroid", false]], "full_tensor_names() (in module pancax.kernels.base_kernel)": [[10, "pancax.kernels.base_kernel.full_tensor_names", false]], "full_tensor_names_2d() (in module pancax.kernels.base_kernel)": [[10, "pancax.kernels.base_kernel.full_tensor_names_2D", false]], "fullfielddata (class in pancax.data.full_field_data)": [[6, "pancax.data.full_field_data.FullFieldData", false]], "fullfielddataloss (class in pancax.loss_functions.data_loss_functions)": [[11, "pancax.loss_functions.data_loss_functions.FullFieldDataLoss", false]], "funcs (pancax.loss_functions.utils.combinelossfunctions attribute)": [[11, "pancax.loss_functions.utils.CombineLossFunctions.funcs", false]], "function() (pancax.bcs.essential_bc.essentialbc method)": [[3, "pancax.bcs.essential_bc.EssentialBC.function", false]], "function() (pancax.bcs.natural_bc.naturalbc method)": [[3, "pancax.bcs.natural_bc.NaturalBC.function", false]], "functionspace (class in pancax.fem.function_space)": [[8, "pancax.fem.function_space.FunctionSpace", false]], "gent (class in pancax.constitutive_models.gent)": [[5, "pancax.constitutive_models.gent.Gent", false]], "get_bc_size() (pancax.fem.dof_manager.dofmanager method)": [[8, "pancax.fem.dof_manager.DofManager.get_bc_size", false]], "get_bc_values() (pancax.fem.dof_manager.dofmanager method)": [[8, "pancax.fem.dof_manager.DofManager.get_bc_values", false]], "get_blocks() (pancax.fem.mesh.mesh method)": [[8, "pancax.fem.mesh.Mesh.get_blocks", false]], "get_coords() (in module pancax.fem.surface)": [[8, "pancax.fem.surface.get_coords", false]], "get_edge_coords() (in module pancax.fem.mesh)": [[8, "pancax.fem.mesh.get_edge_coords", false]], "get_edge_field() (in module pancax.fem.mesh)": [[8, "pancax.fem.mesh.get_edge_field", false]], "get_edge_node_indices() (in module pancax.fem.mesh)": [[8, "pancax.fem.mesh.get_edge_node_indices", false]], "get_edges() (in module pancax.bcs.distance_functions)": [[3, "pancax.bcs.distance_functions.get_edges", false]], "get_element_variable_number() (pancax.post_processor.exoduspostprocessor method)": [[2, "pancax.post_processor.ExodusPostProcessor.get_element_variable_number", false]], "get_field_index() (in module pancax.fem.surface)": [[8, "pancax.fem.surface.get_field_index", false]], "get_lobatto_nodes_1d() (in module pancax.fem.elements.base_element)": [[9, "pancax.fem.elements.base_element.get_lobatto_nodes_1d", false]], "get_nodal_values_on_edge() (in module pancax.fem.function_space)": [[8, "pancax.fem.function_space.get_nodal_values_on_edge", false]], "get_node_variable_number() (pancax.post_processor.exoduspostprocessor method)": [[2, "pancax.post_processor.ExodusPostProcessor.get_node_variable_number", false]], "get_unknown_size() (pancax.fem.dof_manager.dofmanager method)": [[8, "pancax.fem.dof_manager.DofManager.get_unknown_size", false]], "get_unknown_values() (pancax.fem.dof_manager.dofmanager method)": [[8, "pancax.fem.dof_manager.DofManager.get_unknown_values", false]], "get_vtk_cell_type() (pancax.post_processor.vtkpostprocessor method)": [[2, "pancax.post_processor.VtkPostProcessor.get_vtk_cell_type", false]], "global_data (pancax.problems.inverse_problem.inverseproblem attribute)": [[16, "pancax.problems.inverse_problem.InverseProblem.global_data", false]], "globaldata (class in pancax.data.global_data)": [[6, "pancax.data.global_data.GlobalData", false]], "gradients (pancax.fem.elements.base_element.shapefunctions attribute)": [[9, "pancax.fem.elements.base_element.ShapeFunctions.gradients", false]], "heatequation (class in pancax.physics_kernels.heat_equation)": [[15, "pancax.physics_kernels.heat_equation.HeatEquation", false]], "hex8element (class in pancax.fem.elements.hex8_element)": [[9, "pancax.fem.elements.hex8_element.Hex8Element", false]], "history_file (pancax.history_writer.historywriter attribute)": [[2, "pancax.history_writer.HistoryWriter.history_file", false]], "history_writers (pancax.history_writer.ensemblehistorywriter attribute)": [[2, "pancax.history_writer.EnsembleHistoryWriter.history_writers", false]], "historywriter (class in pancax.history_writer)": [[2, "pancax.history_writer.HistoryWriter", false]], "i1() (pancax.constitutive_models.base.baseconstitutivemodel method)": [[5, "pancax.constitutive_models.base.BaseConstitutiveModel.I1", false]], "i1_bar() (pancax.constitutive_models.base.baseconstitutivemodel method)": [[5, "pancax.constitutive_models.base.BaseConstitutiveModel.I1_bar", false]], "i2() (pancax.constitutive_models.base.baseconstitutivemodel method)": [[5, "pancax.constitutive_models.base.BaseConstitutiveModel.I2", false]], "i2_bar() (pancax.constitutive_models.base.baseconstitutivemodel method)": [[5, "pancax.constitutive_models.base.BaseConstitutiveModel.I2_bar", false]], "iclossfunction (class in pancax.loss_functions.ic_loss_function)": [[11, "pancax.loss_functions.ic_loss_function.ICLossFunction", false]], "ics (pancax.problems.forward_problem.forwardproblem attribute)": [[16, "pancax.problems.forward_problem.ForwardProblem.ics", false]], "if_then_else() (in module pancax.math.tensor_math)": [[12, "pancax.math.tensor_math.if_then_else", false]], "incompressible_energy() (in module pancax.physics)": [[2, "pancax.physics.incompressible_energy", false]], "incompressible_energy_and_internal_force() (in module pancax.physics)": [[2, "pancax.physics.incompressible_energy_and_internal_force", false]], "incompressible_energy_and_residual() (in module pancax.physics)": [[2, "pancax.physics.incompressible_energy_and_residual", false]], "incompressible_internal_force() (in module pancax.physics)": [[2, "pancax.physics.incompressible_internal_force", false]], "incompressible_plane_stress() (in module pancax.kinematics)": [[2, "pancax.kinematics.incompressible_plane_stress", false]], "incompressibleenergyandresidualloss (class in pancax.loss_functions.weak_form_loss_functions)": [[11, "pancax.loss_functions.weak_form_loss_functions.IncompressibleEnergyAndResidualLoss", false]], "incompressibleenergyloss (class in pancax.loss_functions.weak_form_loss_functions)": [[11, "pancax.loss_functions.weak_form_loss_functions.IncompressibleEnergyLoss", false]], "incompressibleplanestress (class in pancax.physics_kernels.solid_mechanics)": [[15, "pancax.physics_kernels.solid_mechanics.IncompressiblePlaneStress", false]], "index_to_component() (pancax.post_processor.exoduspostprocessor method)": [[2, "pancax.post_processor.ExodusPostProcessor.index_to_component", false]], "init() (pancax.optimizers.base.optimizer method)": [[14, "pancax.optimizers.base.Optimizer.init", false]], "init() (pancax.post_processor.exoduspostprocessor method)": [[2, "pancax.post_processor.ExodusPostProcessor.init", false]], "init() (pancax.post_processor.postprocessor method)": [[2, "pancax.post_processor.PostProcessor.init", false]], "init() (pancax.post_processor.vtkpostprocessor method)": [[2, "pancax.post_processor.VtkPostProcessor.init", false]], "init() (pancax.trainer.trainer method)": [[2, "pancax.trainer.Trainer.init", false]], "init_linear() (in module pancax.networks.initialization)": [[13, "pancax.networks.initialization.init_linear", false]], "init_linear_weight() (in module pancax.networks.initialization)": [[13, "pancax.networks.initialization.init_linear_weight", false]], "inputs (pancax.data.full_field_data.fullfielddata attribute)": [[6, "pancax.data.full_field_data.FullFieldData.inputs", false]], "integrate_element() (in module pancax.fem.function_space)": [[8, "pancax.fem.function_space.integrate_element", false]], "integrate_element_from_local_field() (in module pancax.fem.function_space)": [[8, "pancax.fem.function_space.integrate_element_from_local_field", false]], "integrate_function() (in module pancax.fem.surface)": [[8, "pancax.fem.surface.integrate_function", false]], "integrate_function_on_edge() (in module pancax.fem.function_space)": [[8, "pancax.fem.function_space.integrate_function_on_edge", false]], "integrate_function_on_edge() (in module pancax.fem.surface)": [[8, "pancax.fem.surface.integrate_function_on_edge", false]], "integrate_function_on_edges() (in module pancax.fem.function_space)": [[8, "pancax.fem.function_space.integrate_function_on_edges", false]], "integrate_function_on_surface() (in module pancax.fem.surface)": [[8, "pancax.fem.surface.integrate_function_on_surface", false]], "integrate_on_element() (pancax.fem.function_space.nonallocatedfunctionspace method)": [[8, "pancax.fem.function_space.NonAllocatedFunctionSpace.integrate_on_element", false]], "integrate_on_elements() (pancax.fem.function_space.nonallocatedfunctionspace method)": [[8, "pancax.fem.function_space.NonAllocatedFunctionSpace.integrate_on_elements", false]], "integrate_over_block() (in module pancax.fem.function_space)": [[8, "pancax.fem.function_space.integrate_over_block", false]], "integrate_values() (in module pancax.fem.surface)": [[8, "pancax.fem.surface.integrate_values", false]], "interiornodes (pancax.fem.elements.base_element.baseelement attribute)": [[9, "pancax.fem.elements.base_element.BaseElement.interiorNodes", false]], "interiornodes (pancax.fem.elements.hex8_element.hex8element attribute)": [[9, "pancax.fem.elements.hex8_element.Hex8Element.interiorNodes", false]], "interiornodes (pancax.fem.elements.line_element.lineelement attribute)": [[9, "pancax.fem.elements.line_element.LineElement.interiorNodes", false]], "interiornodes (pancax.fem.elements.quad4_element.quad4element attribute)": [[9, "pancax.fem.elements.quad4_element.Quad4Element.interiorNodes", false]], "interiornodes (pancax.fem.elements.quad9_element.quad9element attribute)": [[9, "pancax.fem.elements.quad9_element.Quad9Element.interiorNodes", false]], "interiornodes (pancax.fem.elements.simplex_tri_element.simplextrielement attribute)": [[9, "pancax.fem.elements.simplex_tri_element.SimplexTriElement.interiorNodes", false]], "interiornodes (pancax.fem.elements.tet10_element.tet10element attribute)": [[9, "pancax.fem.elements.tet10_element.Tet10Element.interiorNodes", false]], "interiornodes (pancax.fem.elements.tet4_element.tet4element attribute)": [[9, "pancax.fem.elements.tet4_element.Tet4Element.interiorNodes", false]], "internal_force() (in module pancax.physics)": [[2, "pancax.physics.internal_force", false]], "interpolate_nodal_field_on_edge() (in module pancax.fem.function_space)": [[8, "pancax.fem.function_space.interpolate_nodal_field_on_edge", false]], "interpolate_nodal_field_on_edge() (in module pancax.fem.traction_bc)": [[8, "pancax.fem.traction_bc.interpolate_nodal_field_on_edge", false]], "interpolate_to_element_points() (in module pancax.fem.function_space)": [[8, "pancax.fem.function_space.interpolate_to_element_points", false]], "interpolate_to_point() (in module pancax.fem.function_space)": [[8, "pancax.fem.function_space.interpolate_to_point", false]], "interpolate_to_points() (in module pancax.fem.function_space)": [[8, "pancax.fem.function_space.interpolate_to_points", false]], "invariants() (in module pancax.kinematics)": [[2, "pancax.kinematics.invariants", false]], "invariants() (pancax.constitutive_models.base.baseconstitutivemodel method)": [[5, "pancax.constitutive_models.base.BaseConstitutiveModel.invariants", false]], "invariants_old() (in module pancax.kinematics)": [[2, "pancax.kinematics.invariants_old", false]], "inverseproblem (class in pancax.problems.inverse_problem)": [[16, "pancax.problems.inverse_problem.InverseProblem", false]], "isaxisymmetric (pancax.fem.function_space.functionspace attribute)": [[8, "pancax.fem.function_space.FunctionSpace.isAxisymmetric", false]], "jacobian() (pancax.constitutive_models.base.baseconstitutivemodel method)": [[5, "pancax.constitutive_models.base.BaseConstitutiveModel.jacobian", false]], "jm_parameter (pancax.constitutive_models.gent.gent attribute)": [[5, "pancax.constitutive_models.gent.Gent.Jm_parameter", false]], "jvp_sqrtm() (in module pancax.math.tensor_math)": [[12, "pancax.math.tensor_math.jvp_sqrtm", false]], "jxws() (pancax.fem.function_space.nonallocatedfunctionspace method)": [[8, "pancax.fem.function_space.NonAllocatedFunctionSpace.JxWs", false]], "kinetic_energy() (pancax.kernels.laplace_beltrami.laplacebeltrami method)": [[10, "pancax.kernels.laplace_beltrami.LaplaceBeltrami.kinetic_energy", false]], "kinetic_energy() (pancax.physics_kernels.laplace_beltrami.laplacebeltrami method)": [[15, "pancax.physics_kernels.laplace_beltrami.LaplaceBeltrami.kinetic_energy", false]], "laplacebeltrami (class in pancax.kernels.laplace_beltrami)": [[10, "pancax.kernels.laplace_beltrami.LaplaceBeltrami", false]], "laplacebeltrami (class in pancax.physics_kernels.laplace_beltrami)": [[15, "pancax.physics_kernels.laplace_beltrami.LaplaceBeltrami", false]], "layer (pancax.networks.elm.elm attribute)": [[13, "pancax.networks.elm.ELM.layer", false]], "layer (pancax.networks.elm.elm2 attribute)": [[13, "pancax.networks.elm.ELM2.layer", false]], "lbfgs (class in pancax.optimizers.lbfgs)": [[14, "pancax.optimizers.lbfgs.LBFGS", false]], "line_segment() (in module pancax.bcs.distance_functions)": [[3, "pancax.bcs.distance_functions.line_segment", false]], "linear() (in module pancax.networks.mlp)": [[13, "pancax.networks.mlp.Linear", false]], "linear_strain() (pancax.kernels.linear_elasticity.linearelasticity2d method)": [[10, "pancax.kernels.linear_elasticity.LinearElasticity2D.linear_strain", false]], "linearelasticity2d (class in pancax.kernels.linear_elasticity)": [[10, "pancax.kernels.linear_elasticity.LinearElasticity2D", false]], "lineelement (class in pancax.fem.elements.line_element)": [[9, "pancax.fem.elements.line_element.LineElement", false]], "load_step() (pancax.loss_functions.base_loss_function.bclossfunction method)": [[11, "pancax.loss_functions.base_loss_function.BCLossFunction.load_step", false]], "load_step() (pancax.loss_functions.base_loss_function.physicslossfunction method)": [[11, "pancax.loss_functions.base_loss_function.PhysicsLossFunction.load_step", false]], "load_step() (pancax.loss_functions.bc_loss_functions.dirichletbcloss method)": [[11, "pancax.loss_functions.bc_loss_functions.DirichletBCLoss.load_step", false]], "load_step() (pancax.loss_functions.bc_loss_functions.neumannbcloss method)": [[11, "pancax.loss_functions.bc_loss_functions.NeumannBCLoss.load_step", false]], "load_step() (pancax.loss_functions.strong_form_loss_functions.strongformresidualloss method)": [[11, "pancax.loss_functions.strong_form_loss_functions.StrongFormResidualLoss.load_step", false]], "load_step() (pancax.loss_functions.weak_form_loss_functions.energyandresidualloss method)": [[11, "pancax.loss_functions.weak_form_loss_functions.EnergyAndResidualLoss.load_step", false]], "load_step() (pancax.loss_functions.weak_form_loss_functions.energyloss method)": [[11, "pancax.loss_functions.weak_form_loss_functions.EnergyLoss.load_step", false]], "load_step() (pancax.loss_functions.weak_form_loss_functions.energyresidualandreactionloss method)": [[11, "pancax.loss_functions.weak_form_loss_functions.EnergyResidualAndReactionLoss.load_step", false]], "load_step() (pancax.loss_functions.weak_form_loss_functions.incompressibleenergyandresidualloss method)": [[11, "pancax.loss_functions.weak_form_loss_functions.IncompressibleEnergyAndResidualLoss.load_step", false]], "load_step() (pancax.loss_functions.weak_form_loss_functions.incompressibleenergyloss method)": [[11, "pancax.loss_functions.weak_form_loss_functions.IncompressibleEnergyLoss.load_step", false]], "load_step() (pancax.loss_functions.weak_form_loss_functions.quadratureincompressibilityconstraint method)": [[11, "pancax.loss_functions.weak_form_loss_functions.QuadratureIncompressibilityConstraint.load_step", false]], "load_step() (pancax.loss_functions.weak_form_loss_functions.residualmseloss method)": [[11, "pancax.loss_functions.weak_form_loss_functions.ResidualMSELoss.load_step", false]], "log_every (pancax.history_writer.basehistorywriter attribute)": [[2, "pancax.history_writer.BaseHistoryWriter.log_every", false]], "log_every (pancax.history_writer.ensemblehistorywriter attribute)": [[2, "pancax.history_writer.EnsembleHistoryWriter.log_every", false]], "log_every (pancax.history_writer.historywriter attribute)": [[2, "pancax.history_writer.HistoryWriter.log_every", false]], "log_every (pancax.logging.baselogger attribute)": [[2, "pancax.logging.BaseLogger.log_every", false]], "log_file (pancax.logging.logger attribute)": [[2, "pancax.logging.Logger.log_file", false]], "log_jvp() (in module pancax.math.tensor_math)": [[12, "pancax.math.tensor_math.log_jvp", false]], "log_loss() (in module pancax.logging)": [[2, "pancax.logging.log_loss", false]], "log_loss() (pancax.logging.baselogger method)": [[2, "pancax.logging.BaseLogger.log_loss", false]], "log_pade_pf() (in module pancax.math.tensor_math)": [[12, "pancax.math.tensor_math.log_pade_pf", false]], "logger (class in pancax.logging)": [[2, "pancax.logging.Logger", false]], "logger() (pancax.timer.timer method)": [[2, "pancax.timer.Timer.logger", false]], "loggers (pancax.logging.ensemblelogger attribute)": [[2, "pancax.logging.EnsembleLogger.loggers", false]], "logh() (in module pancax.math.tensor_math)": [[12, "pancax.math.tensor_math.logh", false]], "logh_from_eigen() (in module pancax.math.tensor_math)": [[12, "pancax.math.tensor_math.logh_from_eigen", false]], "logm_jvp() (in module pancax.math.tensor_math)": [[12, "pancax.math.tensor_math.logm_jvp", false]], "make_step_method() (pancax.optimizers.adam.adam method)": [[14, "pancax.optimizers.adam.Adam.make_step_method", false]], "make_step_method() (pancax.optimizers.base.optimizer method)": [[14, "pancax.optimizers.base.Optimizer.make_step_method", false]], "make_step_method() (pancax.optimizers.lbfgs.lbfgs method)": [[14, "pancax.optimizers.lbfgs.LBFGS.make_step_method", false]], "map_element_shape_grads() (in module pancax.fem.function_space)": [[8, "pancax.fem.function_space.map_element_shape_grads", false]], "mass_matrix() (in module pancax.physics)": [[2, "pancax.physics.mass_matrix", false]], "mass_matrix() (pancax.physics_kernels.base.baseenergyformphysics method)": [[15, "pancax.physics_kernels.base.BaseEnergyFormPhysics.mass_matrix", false]], "mesh (class in pancax.fem.mesh)": [[8, "pancax.fem.mesh.Mesh", false]], "mesh (pancax.domains.base.basedomain attribute)": [[7, "pancax.domains.base.BaseDomain.mesh", false]], "mesh (pancax.domains.collocation_domain.collocationdomain attribute)": [[7, "pancax.domains.collocation_domain.CollocationDomain.mesh", false]], "mesh (pancax.domains.variational_domain.variationaldomain attribute)": [[7, "pancax.domains.variational_domain.VariationalDomain.mesh", false]], "mesh (pancax.problems.forward_problem.forwardproblem property)": [[16, "pancax.problems.forward_problem.ForwardProblem.mesh", false]], "mesh_file (pancax.domains.base.basedomain attribute)": [[7, "pancax.domains.base.BaseDomain.mesh_file", false]], "mesh_file (pancax.domains.collocation_domain.collocationdomain attribute)": [[7, "pancax.domains.collocation_domain.CollocationDomain.mesh_file", false]], "mesh_file (pancax.domains.variational_domain.variationaldomain attribute)": [[7, "pancax.domains.variational_domain.VariationalDomain.mesh_file", false]], "mesh_file (pancax.problems.forward_problem.forwardproblem property)": [[16, "pancax.problems.forward_problem.ForwardProblem.mesh_file", false]], "mesh_with_blocks() (in module pancax.fem.mesh)": [[8, "pancax.fem.mesh.mesh_with_blocks", false]], "mesh_with_coords() (in module pancax.fem.mesh)": [[8, "pancax.fem.mesh.mesh_with_coords", false]], "mesh_with_nodesets() (in module pancax.fem.mesh)": [[8, "pancax.fem.mesh.mesh_with_nodesets", false]], "meshfilenotfoundexception": [[2, "pancax.utils.MeshFileNotFoundException", false]], "mises_equivalent_stress() (in module pancax.math.tensor_math)": [[12, "pancax.math.tensor_math.mises_equivalent_stress", false]], "mlp() (in module pancax.networks.mlp)": [[13, "pancax.networks.mlp.MLP", false]], "mlpbasis() (in module pancax.networks.mlp)": [[13, "pancax.networks.mlp.MLPBasis", false]], "modify_field_gradient() (pancax.physics_kernels.solid_mechanics.basemechanicsformulation method)": [[15, "pancax.physics_kernels.solid_mechanics.BaseMechanicsFormulation.modify_field_gradient", false]], "modify_field_gradient() (pancax.physics_kernels.solid_mechanics.incompressibleplanestress method)": [[15, "pancax.physics_kernels.solid_mechanics.IncompressiblePlaneStress.modify_field_gradient", false]], "modify_field_gradient() (pancax.physics_kernels.solid_mechanics.planestrain method)": [[15, "pancax.physics_kernels.solid_mechanics.PlaneStrain.modify_field_gradient", false]], "modify_field_gradient() (pancax.physics_kernels.solid_mechanics.threedimensional method)": [[15, "pancax.physics_kernels.solid_mechanics.ThreeDimensional.modify_field_gradient", false]], "module": [[2, "module-pancax", false], [2, "module-pancax.history_writer", false], [2, "module-pancax.kinematics", false], [2, "module-pancax.logging", false], [2, "module-pancax.physics", false], [2, "module-pancax.post_processor", false], [2, "module-pancax.timer", false], [2, "module-pancax.trainer", false], [2, "module-pancax.utils", false], [3, "module-pancax.bcs", false], [3, "module-pancax.bcs.distance_functions", false], [3, "module-pancax.bcs.essential_bc", false], [3, "module-pancax.bcs.natural_bc", false], [4, "module-pancax.bvps", false], [4, "module-pancax.bvps.biaxial_tension", false], [4, "module-pancax.bvps.simple_shear", false], [4, "module-pancax.bvps.uniaxial_tension", false], [5, "module-pancax.constitutive_models", false], [5, "module-pancax.constitutive_models.base", false], [5, "module-pancax.constitutive_models.blatz_ko", false], [5, "module-pancax.constitutive_models.gent", false], [5, "module-pancax.constitutive_models.neohookean", false], [5, "module-pancax.constitutive_models.properties", false], [5, "module-pancax.constitutive_models.swanson", false], [6, "module-pancax.data", false], [6, "module-pancax.data.full_field_data", false], [6, "module-pancax.data.global_data", false], [7, "module-pancax.domains", false], [7, "module-pancax.domains.base", false], [7, "module-pancax.domains.collocation_domain", false], [7, "module-pancax.domains.delta_pinn_domain", false], [7, "module-pancax.domains.variational_domain", false], [8, "module-pancax.fem", false], [8, "module-pancax.fem.dof_manager", false], [8, "module-pancax.fem.function_space", false], [8, "module-pancax.fem.mesh", false], [8, "module-pancax.fem.quadrature_rules", false], [8, "module-pancax.fem.read_exodus_mesh", false], [8, "module-pancax.fem.sparse_matrix_assembler", false], [8, "module-pancax.fem.surface", false], [8, "module-pancax.fem.traction_bc", false], [9, "module-pancax.fem.elements", false], [9, "module-pancax.fem.elements.base_element", false], [9, "module-pancax.fem.elements.hex8_element", false], [9, "module-pancax.fem.elements.line_element", false], [9, "module-pancax.fem.elements.quad4_element", false], [9, "module-pancax.fem.elements.quad9_element", false], [9, "module-pancax.fem.elements.simplex_tri_element", false], [9, "module-pancax.fem.elements.tet10_element", false], [9, "module-pancax.fem.elements.tet4_element", false], [10, "module-pancax.kernels", false], [10, "module-pancax.kernels.base_kernel", false], [10, "module-pancax.kernels.laplace_beltrami", false], [10, "module-pancax.kernels.linear_elasticity", false], [10, "module-pancax.kernels.poisson", false], [11, "module-pancax.loss_functions", false], [11, "module-pancax.loss_functions.base_loss_function", false], [11, "module-pancax.loss_functions.bc_loss_functions", false], [11, "module-pancax.loss_functions.data_loss_functions", false], [11, "module-pancax.loss_functions.ic_loss_function", false], [11, "module-pancax.loss_functions.physics_loss_functions_strong_form", false], [11, "module-pancax.loss_functions.strong_form_loss_functions", false], [11, "module-pancax.loss_functions.utils", false], [11, "module-pancax.loss_functions.weak_form_loss_functions", false], [12, "module-pancax.math", false], [12, "module-pancax.math.math", false], [12, "module-pancax.math.tensor_math", false], [13, "module-pancax.networks", false], [13, "module-pancax.networks.elm", false], [13, "module-pancax.networks.field_property_pair", false], [13, "module-pancax.networks.initialization", false], [13, "module-pancax.networks.mlp", false], [13, "module-pancax.networks.properties", false], [13, "module-pancax.networks.rbf", false], [14, "module-pancax.optimizers", false], [14, "module-pancax.optimizers.adam", false], [14, "module-pancax.optimizers.base", false], [14, "module-pancax.optimizers.lbfgs", false], [14, "module-pancax.optimizers.utils", false], [15, "module-pancax.physics_kernels", false], [15, "module-pancax.physics_kernels.base", false], [15, "module-pancax.physics_kernels.burgers_equation", false], [15, "module-pancax.physics_kernels.heat_equation", false], [15, "module-pancax.physics_kernels.laplace_beltrami", false], [15, "module-pancax.physics_kernels.poisson", false], [15, "module-pancax.physics_kernels.solid_mechanics", false], [16, "module-pancax.problems", false], [16, "module-pancax.problems.forward_problem", false], [16, "module-pancax.problems.inverse_problem", false]], "mtk_log_sqrt_jvp() (in module pancax.math.tensor_math)": [[12, "pancax.math.tensor_math.mtk_log_sqrt_jvp", false]], "mtk_pow_jvp() (in module pancax.math.tensor_math)": [[12, "pancax.math.tensor_math.mtk_pow_jvp", false]], "n_dimensions (pancax.physics_kernels.solid_mechanics.basemechanicsformulation attribute)": [[15, "pancax.physics_kernels.solid_mechanics.BaseMechanicsFormulation.n_dimensions", false]], "n_dimensions (pancax.physics_kernels.solid_mechanics.incompressibleplanestress attribute)": [[15, "pancax.physics_kernels.solid_mechanics.IncompressiblePlaneStress.n_dimensions", false]], "n_dimensions (pancax.physics_kernels.solid_mechanics.planestrain attribute)": [[15, "pancax.physics_kernels.solid_mechanics.PlaneStrain.n_dimensions", false]], "n_dimensions (pancax.physics_kernels.solid_mechanics.threedimensional attribute)": [[15, "pancax.physics_kernels.solid_mechanics.ThreeDimensional.n_dimensions", false]], "n_dofs (pancax.kernels.base_kernel.physicskernel attribute)": [[10, "pancax.kernels.base_kernel.PhysicsKernel.n_dofs", false]], "n_dofs (pancax.kernels.base_kernel.strongformphysicskernel attribute)": [[10, "pancax.kernels.base_kernel.StrongFormPhysicsKernel.n_dofs", false]], "n_dofs (pancax.kernels.base_kernel.weakformphysicskernel attribute)": [[10, "pancax.kernels.base_kernel.WeakFormPhysicsKernel.n_dofs", false]], "n_dofs (pancax.kernels.laplace_beltrami.laplacebeltrami attribute)": [[10, "pancax.kernels.laplace_beltrami.LaplaceBeltrami.n_dofs", false]], "n_dofs (pancax.kernels.linear_elasticity.linearelasticity2d attribute)": [[10, "pancax.kernels.linear_elasticity.LinearElasticity2D.n_dofs", false]], "n_dofs (pancax.kernels.poisson.poisson attribute)": [[10, "pancax.kernels.poisson.Poisson.n_dofs", false]], "n_dofs (pancax.physics_kernels.base.basephysics property)": [[15, "pancax.physics_kernels.base.BasePhysics.n_dofs", false]], "n_eigen_values (pancax.domains.delta_pinn_domain.deltapinndomain attribute)": [[7, "pancax.domains.delta_pinn_domain.DeltaPINNDomain.n_eigen_values", false]], "n_nodes (pancax.data.global_data.globaldata attribute)": [[6, "pancax.data.global_data.GlobalData.n_nodes", false]], "n_outputs (pancax.networks.elm.elm attribute)": [[13, "pancax.networks.elm.ELM.n_outputs", false]], "n_outputs (pancax.networks.elm.elm2 attribute)": [[13, "pancax.networks.elm.ELM2.n_outputs", false]], "n_time_steps (pancax.data.full_field_data.fullfielddata attribute)": [[6, "pancax.data.full_field_data.FullFieldData.n_time_steps", false]], "n_time_steps (pancax.data.global_data.globaldata attribute)": [[6, "pancax.data.global_data.GlobalData.n_time_steps", false]], "name (pancax.timer.timer attribute)": [[2, "pancax.timer.Timer.name", false]], "natural_bcs (pancax.problems.forward_problem.forwardproblem attribute)": [[16, "pancax.problems.forward_problem.ForwardProblem.natural_bcs", false]], "naturalbc (class in pancax.bcs.natural_bc)": [[3, "pancax.bcs.natural_bc.NaturalBC", false]], "neohookean (class in pancax.constitutive_models.neohookean)": [[5, "pancax.constitutive_models.neohookean.NeoHookean", false]], "network() (in module pancax.networks)": [[13, "pancax.networks.Network", false]], "neumannbcloss (class in pancax.loss_functions.bc_loss_functions)": [[11, "pancax.loss_functions.bc_loss_functions.NeumannBCLoss", false]], "nodal_incompressibility_constraint() (in module pancax.physics)": [[2, "pancax.physics.nodal_incompressibility_constraint", false]], "nodal_pp() (in module pancax.kernels.base_kernel)": [[10, "pancax.kernels.base_kernel.nodal_pp", false]], "nodal_pp() (in module pancax.physics_kernels.base)": [[15, "pancax.physics_kernels.base.nodal_pp", false]], "nodeset (pancax.bcs.essential_bc.essentialbc attribute)": [[3, "pancax.bcs.essential_bc.EssentialBC.nodeSet", false]], "nodesets (pancax.fem.mesh.mesh attribute)": [[8, "pancax.fem.mesh.Mesh.nodeSets", false]], "nonallocatedfunctionspace (class in pancax.fem.function_space)": [[8, "pancax.fem.function_space.NonAllocatedFunctionSpace", false]], "norm_of_deviator() (in module pancax.math.tensor_math)": [[12, "pancax.math.tensor_math.norm_of_deviator", false]], "norm_of_deviator_squared() (in module pancax.math.tensor_math)": [[12, "pancax.math.tensor_math.norm_of_deviator_squared", false]], "normals() (pancax.bcs.natural_bc.naturalbc method)": [[3, "pancax.bcs.natural_bc.NaturalBC.normals", false]], "num_dimensions (pancax.fem.mesh.mesh property)": [[8, "pancax.fem.mesh.Mesh.num_dimensions", false]], "num_elements (pancax.fem.mesh.mesh property)": [[8, "pancax.fem.mesh.Mesh.num_elements", false]], "num_nodes (pancax.fem.mesh.mesh property)": [[8, "pancax.fem.mesh.Mesh.num_nodes", false]], "num_nodes() (in module pancax.fem.mesh)": [[8, "pancax.fem.mesh.num_nodes", false]], "optimizer (class in pancax.optimizers.base)": [[14, "pancax.optimizers.base.Optimizer", false]], "outputs (pancax.data.full_field_data.fullfielddata attribute)": [[6, "pancax.data.full_field_data.FullFieldData.outputs", false]], "outputs (pancax.data.global_data.globaldata attribute)": [[6, "pancax.data.global_data.GlobalData.outputs", false]], "p1 (pancax.constitutive_models.swanson.swanson attribute)": [[5, "pancax.constitutive_models.swanson.Swanson.P1", false]], "pancax": [[2, "module-pancax", false]], "pancax.bcs": [[3, "module-pancax.bcs", false]], "pancax.bcs.distance_functions": [[3, "module-pancax.bcs.distance_functions", false]], "pancax.bcs.essential_bc": [[3, "module-pancax.bcs.essential_bc", false]], "pancax.bcs.natural_bc": [[3, "module-pancax.bcs.natural_bc", false]], "pancax.bvps": [[4, "module-pancax.bvps", false]], "pancax.bvps.biaxial_tension": [[4, "module-pancax.bvps.biaxial_tension", false]], "pancax.bvps.simple_shear": [[4, "module-pancax.bvps.simple_shear", false]], "pancax.bvps.uniaxial_tension": [[4, "module-pancax.bvps.uniaxial_tension", false]], "pancax.constitutive_models": [[5, "module-pancax.constitutive_models", false]], "pancax.constitutive_models.base": [[5, "module-pancax.constitutive_models.base", false]], "pancax.constitutive_models.blatz_ko": [[5, "module-pancax.constitutive_models.blatz_ko", false]], "pancax.constitutive_models.gent": [[5, "module-pancax.constitutive_models.gent", false]], "pancax.constitutive_models.neohookean": [[5, "module-pancax.constitutive_models.neohookean", false]], "pancax.constitutive_models.properties": [[5, "module-pancax.constitutive_models.properties", false]], "pancax.constitutive_models.swanson": [[5, "module-pancax.constitutive_models.swanson", false]], "pancax.data": [[6, "module-pancax.data", false]], "pancax.data.full_field_data": [[6, "module-pancax.data.full_field_data", false]], "pancax.data.global_data": [[6, "module-pancax.data.global_data", false]], "pancax.domains": [[7, "module-pancax.domains", false]], "pancax.domains.base": [[7, "module-pancax.domains.base", false]], "pancax.domains.collocation_domain": [[7, "module-pancax.domains.collocation_domain", false]], "pancax.domains.delta_pinn_domain": [[7, "module-pancax.domains.delta_pinn_domain", false]], "pancax.domains.variational_domain": [[7, "module-pancax.domains.variational_domain", false]], "pancax.fem": [[8, "module-pancax.fem", false]], "pancax.fem.dof_manager": [[8, "module-pancax.fem.dof_manager", false]], "pancax.fem.elements": [[9, "module-pancax.fem.elements", false]], "pancax.fem.elements.base_element": [[9, "module-pancax.fem.elements.base_element", false]], "pancax.fem.elements.hex8_element": [[9, "module-pancax.fem.elements.hex8_element", false]], "pancax.fem.elements.line_element": [[9, "module-pancax.fem.elements.line_element", false]], "pancax.fem.elements.quad4_element": [[9, "module-pancax.fem.elements.quad4_element", false]], "pancax.fem.elements.quad9_element": [[9, "module-pancax.fem.elements.quad9_element", false]], "pancax.fem.elements.simplex_tri_element": [[9, "module-pancax.fem.elements.simplex_tri_element", false]], "pancax.fem.elements.tet10_element": [[9, "module-pancax.fem.elements.tet10_element", false]], "pancax.fem.elements.tet4_element": [[9, "module-pancax.fem.elements.tet4_element", false]], "pancax.fem.function_space": [[8, "module-pancax.fem.function_space", false]], "pancax.fem.mesh": [[8, "module-pancax.fem.mesh", false]], "pancax.fem.quadrature_rules": [[8, "module-pancax.fem.quadrature_rules", false]], "pancax.fem.read_exodus_mesh": [[8, "module-pancax.fem.read_exodus_mesh", false]], "pancax.fem.sparse_matrix_assembler": [[8, "module-pancax.fem.sparse_matrix_assembler", false]], "pancax.fem.surface": [[8, "module-pancax.fem.surface", false]], "pancax.fem.traction_bc": [[8, "module-pancax.fem.traction_bc", false]], "pancax.history_writer": [[2, "module-pancax.history_writer", false]], "pancax.kernels": [[10, "module-pancax.kernels", false]], "pancax.kernels.base_kernel": [[10, "module-pancax.kernels.base_kernel", false]], "pancax.kernels.laplace_beltrami": [[10, "module-pancax.kernels.laplace_beltrami", false]], "pancax.kernels.linear_elasticity": [[10, "module-pancax.kernels.linear_elasticity", false]], "pancax.kernels.poisson": [[10, "module-pancax.kernels.poisson", false]], "pancax.kinematics": [[2, "module-pancax.kinematics", false]], "pancax.logging": [[2, "module-pancax.logging", false]], "pancax.loss_functions": [[11, "module-pancax.loss_functions", false]], "pancax.loss_functions.base_loss_function": [[11, "module-pancax.loss_functions.base_loss_function", false]], "pancax.loss_functions.bc_loss_functions": [[11, "module-pancax.loss_functions.bc_loss_functions", false]], "pancax.loss_functions.data_loss_functions": [[11, "module-pancax.loss_functions.data_loss_functions", false]], "pancax.loss_functions.ic_loss_function": [[11, "module-pancax.loss_functions.ic_loss_function", false]], "pancax.loss_functions.physics_loss_functions_strong_form": [[11, "module-pancax.loss_functions.physics_loss_functions_strong_form", false]], "pancax.loss_functions.strong_form_loss_functions": [[11, "module-pancax.loss_functions.strong_form_loss_functions", false]], "pancax.loss_functions.utils": [[11, "module-pancax.loss_functions.utils", false]], "pancax.loss_functions.weak_form_loss_functions": [[11, "module-pancax.loss_functions.weak_form_loss_functions", false]], "pancax.math": [[12, "module-pancax.math", false]], "pancax.math.math": [[12, "module-pancax.math.math", false]], "pancax.math.tensor_math": [[12, "module-pancax.math.tensor_math", false]], "pancax.networks": [[13, "module-pancax.networks", false]], "pancax.networks.elm": [[13, "module-pancax.networks.elm", false]], "pancax.networks.field_property_pair": [[13, "module-pancax.networks.field_property_pair", false]], "pancax.networks.initialization": [[13, "module-pancax.networks.initialization", false]], "pancax.networks.mlp": [[13, "module-pancax.networks.mlp", false]], "pancax.networks.properties": [[13, "module-pancax.networks.properties", false]], "pancax.networks.rbf": [[13, "module-pancax.networks.rbf", false]], "pancax.optimizers": [[14, "module-pancax.optimizers", false]], "pancax.optimizers.adam": [[14, "module-pancax.optimizers.adam", false]], "pancax.optimizers.base": [[14, "module-pancax.optimizers.base", false]], "pancax.optimizers.lbfgs": [[14, "module-pancax.optimizers.lbfgs", false]], "pancax.optimizers.utils": [[14, "module-pancax.optimizers.utils", false]], "pancax.physics": [[2, "module-pancax.physics", false]], "pancax.physics_kernels": [[15, "module-pancax.physics_kernels", false]], "pancax.physics_kernels.base": [[15, "module-pancax.physics_kernels.base", false]], "pancax.physics_kernels.burgers_equation": [[15, "module-pancax.physics_kernels.burgers_equation", false]], "pancax.physics_kernels.heat_equation": [[15, "module-pancax.physics_kernels.heat_equation", false]], "pancax.physics_kernels.laplace_beltrami": [[15, "module-pancax.physics_kernels.laplace_beltrami", false]], "pancax.physics_kernels.poisson": [[15, "module-pancax.physics_kernels.poisson", false]], "pancax.physics_kernels.solid_mechanics": [[15, "module-pancax.physics_kernels.solid_mechanics", false]], "pancax.post_processor": [[2, "module-pancax.post_processor", false]], "pancax.problems": [[16, "module-pancax.problems", false]], "pancax.problems.forward_problem": [[16, "module-pancax.problems.forward_problem", false]], "pancax.problems.inverse_problem": [[16, "module-pancax.problems.inverse_problem", false]], "pancax.timer": [[2, "module-pancax.timer", false]], "pancax.trainer": [[2, "module-pancax.trainer", false]], "pancax.utils": [[2, "module-pancax.utils", false]], "parentelement (pancax.fem.mesh.mesh attribute)": [[8, "pancax.fem.mesh.Mesh.parentElement", false]], "parentelement1d (pancax.fem.mesh.mesh attribute)": [[8, "pancax.fem.mesh.Mesh.parentElement1d", false]], "pascal_triangle_monomials() (in module pancax.fem.elements.base_element)": [[9, "pancax.fem.elements.base_element.pascal_triangle_monomials", false]], "physics (pancax.domains.delta_pinn_domain.deltapinndomain attribute)": [[7, "pancax.domains.delta_pinn_domain.DeltaPINNDomain.physics", false]], "physics (pancax.problems.forward_problem.forwardproblem attribute)": [[16, "pancax.problems.forward_problem.ForwardProblem.physics", false]], "physicskernel (class in pancax.kernels.base_kernel)": [[10, "pancax.kernels.base_kernel.PhysicsKernel", false]], "physicslossfunction (class in pancax.loss_functions.base_loss_function)": [[11, "pancax.loss_functions.base_loss_function.PhysicsLossFunction", false]], "pk1_stress() (pancax.constitutive_models.base.baseconstitutivemodel method)": [[5, "pancax.constitutive_models.base.BaseConstitutiveModel.pk1_stress", false]], "plane_strain() (in module pancax.kinematics)": [[2, "pancax.kinematics.plane_strain", false]], "planestrain (class in pancax.physics_kernels.solid_mechanics)": [[15, "pancax.physics_kernels.solid_mechanics.PlaneStrain", false]], "plot_data() (pancax.data.full_field_data.fullfielddata method)": [[6, "pancax.data.full_field_data.FullFieldData.plot_data", false]], "plot_registration() (pancax.data.full_field_data.fullfielddata method)": [[6, "pancax.data.full_field_data.FullFieldData.plot_registration", false]], "poisson (class in pancax.kernels.poisson)": [[10, "pancax.kernels.poisson.Poisson", false]], "poisson (class in pancax.physics_kernels.poisson)": [[15, "pancax.physics_kernels.poisson.Poisson", false]], "postprocessor (class in pancax.post_processor)": [[2, "pancax.post_processor.PostProcessor", false]], "potential_energy() (in module pancax.physics)": [[2, "pancax.physics.potential_energy", false]], "potential_energy() (pancax.physics_kernels.base.baseenergyformphysics method)": [[15, "pancax.physics_kernels.base.BaseEnergyFormPhysics.potential_energy", false]], "potential_energy_and_internal_force() (in module pancax.physics)": [[2, "pancax.physics.potential_energy_and_internal_force", false]], "potential_energy_and_internal_force() (pancax.physics_kernels.base.baseenergyformphysics method)": [[15, "pancax.physics_kernels.base.BaseEnergyFormPhysics.potential_energy_and_internal_force", false]], "potential_energy_and_residual() (in module pancax.physics)": [[2, "pancax.physics.potential_energy_and_residual", false]], "potential_energy_and_residual() (pancax.physics_kernels.base.baseenergyformphysics method)": [[15, "pancax.physics_kernels.base.BaseEnergyFormPhysics.potential_energy_and_residual", false]], "potential_energy_on_block() (pancax.physics_kernels.base.baseenergyformphysics method)": [[15, "pancax.physics_kernels.base.BaseEnergyFormPhysics.potential_energy_on_block", false]], "potential_energy_residual_and_reaction_force() (in module pancax.physics)": [[2, "pancax.physics.potential_energy_residual_and_reaction_force", false]], "potential_energy_residual_and_reaction_force() (pancax.physics_kernels.base.baseenergyformphysics method)": [[15, "pancax.physics_kernels.base.BaseEnergyFormPhysics.potential_energy_residual_and_reaction_force", false]], "project_quadrature_field_to_element_field() (in module pancax.fem.function_space)": [[8, "pancax.fem.function_space.project_quadrature_field_to_element_field", false]], "prop_max (pancax.constitutive_models.properties.boundedproperty attribute)": [[5, "pancax.constitutive_models.properties.BoundedProperty.prop_max", false]], "prop_maxs (pancax.networks.properties.properties attribute)": [[13, "pancax.networks.properties.Properties.prop_maxs", false]], "prop_min (pancax.constitutive_models.properties.boundedproperty attribute)": [[5, "pancax.constitutive_models.properties.BoundedProperty.prop_min", false]], "prop_mins (pancax.networks.properties.properties attribute)": [[13, "pancax.networks.properties.Properties.prop_mins", false]], "prop_params (pancax.networks.properties.properties attribute)": [[13, "pancax.networks.properties.Properties.prop_params", false]], "prop_val (pancax.constitutive_models.properties.boundedproperty attribute)": [[5, "pancax.constitutive_models.properties.BoundedProperty.prop_val", false]], "properties (class in pancax.networks.properties)": [[13, "pancax.networks.properties.Properties", false]], "properties (pancax.networks.field_property_pair.fieldpropertypair attribute)": [[13, "pancax.networks.field_property_pair.FieldPropertyPair.properties", false]], "properties() (pancax.constitutive_models.base.baseconstitutivemodel method)": [[5, "pancax.constitutive_models.base.BaseConstitutiveModel.properties", false]], "q1 (pancax.constitutive_models.swanson.swanson attribute)": [[5, "pancax.constitutive_models.swanson.Swanson.Q1", false]], "quad4element (class in pancax.fem.elements.quad4_element)": [[9, "pancax.fem.elements.quad4_element.Quad4Element", false]], "quad9element (class in pancax.fem.elements.quad9_element)": [[9, "pancax.fem.elements.quad9_element.Quad9Element", false]], "quadrature_incompressibility_constraint() (in module pancax.physics)": [[2, "pancax.physics.quadrature_incompressibility_constraint", false]], "quadrature_rule (pancax.fem.function_space.nonallocatedfunctionspace attribute)": [[8, "pancax.fem.function_space.NonAllocatedFunctionSpace.quadrature_rule", false]], "quadratureincompressibilityconstraint (class in pancax.loss_functions.weak_form_loss_functions)": [[11, "pancax.loss_functions.weak_form_loss_functions.QuadratureIncompressibilityConstraint", false]], "quadraturerule (class in pancax.fem.quadrature_rules)": [[8, "pancax.fem.quadrature_rules.QuadratureRule", false]], "quadraturerule (pancax.fem.function_space.functionspace attribute)": [[8, "pancax.fem.function_space.FunctionSpace.quadratureRule", false]], "r1 (pancax.constitutive_models.swanson.swanson attribute)": [[5, "pancax.constitutive_models.swanson.Swanson.R1", false]], "rbf_normalization() (in module pancax.networks.rbf)": [[13, "pancax.networks.rbf.rbf_normalization", false]], "rbfbasis (class in pancax.networks.rbf)": [[13, "pancax.networks.rbf.RBFBasis", false]], "reaction_dof (pancax.data.global_data.globaldata attribute)": [[6, "pancax.data.global_data.GlobalData.reaction_dof", false]], "reaction_nodes (pancax.data.global_data.globaldata attribute)": [[6, "pancax.data.global_data.GlobalData.reaction_nodes", false]], "reaction_weight (pancax.loss_functions.weak_form_loss_functions.energyresidualandreactionloss attribute)": [[11, "pancax.loss_functions.weak_form_loss_functions.EnergyResidualAndReactionLoss.reaction_weight", false]], "read_exodus_mesh() (in module pancax.fem.read_exodus_mesh)": [[8, "pancax.fem.read_exodus_mesh.read_exodus_mesh", false]], "relative_log_difference() (in module pancax.math.tensor_math)": [[12, "pancax.math.tensor_math.relative_log_difference", false]], "relative_log_difference_no_tolerance_check() (in module pancax.math.tensor_math)": [[12, "pancax.math.tensor_math.relative_log_difference_no_tolerance_check", false]], "relative_log_difference_taylor() (in module pancax.math.tensor_math)": [[12, "pancax.math.tensor_math.relative_log_difference_taylor", false]], "residual() (in module pancax.physics)": [[2, "pancax.physics.residual", false]], "residual_mse() (in module pancax.physics)": [[2, "pancax.physics.residual_mse", false]], "residual_weight (pancax.loss_functions.weak_form_loss_functions.energyandresidualloss attribute)": [[11, "pancax.loss_functions.weak_form_loss_functions.EnergyAndResidualLoss.residual_weight", false]], "residual_weight (pancax.loss_functions.weak_form_loss_functions.energyresidualandreactionloss attribute)": [[11, "pancax.loss_functions.weak_form_loss_functions.EnergyResidualAndReactionLoss.residual_weight", false]], "residual_weight (pancax.loss_functions.weak_form_loss_functions.incompressibleenergyandresidualloss attribute)": [[11, "pancax.loss_functions.weak_form_loss_functions.IncompressibleEnergyAndResidualLoss.residual_weight", false]], "residualmseloss (class in pancax.loss_functions.weak_form_loss_functions)": [[11, "pancax.loss_functions.weak_form_loss_functions.ResidualMSELoss", false]], "safe_sqrt_jvp() (in module pancax.math.math)": [[12, "pancax.math.math.safe_sqrt_jvp", false]], "serialise() (pancax.networks.field_property_pair.basepancaxmodel method)": [[13, "pancax.networks.field_property_pair.BasePancaxModel.serialise", false]], "serialise() (pancax.trainer.trainer method)": [[2, "pancax.trainer.Trainer.serialise", false]], "set_checkpoint_file() (in module pancax.utils)": [[2, "pancax.utils.set_checkpoint_file", false]], "set_input_component_values() (pancax.data.full_field_data.fullfielddata method)": [[6, "pancax.data.full_field_data.FullFieldData.set_input_component_values", false]], "shape_function_gradients() (pancax.fem.function_space.nonallocatedfunctionspace method)": [[8, "pancax.fem.function_space.NonAllocatedFunctionSpace.shape_function_gradients", false]], "shape_function_values() (pancax.fem.function_space.nonallocatedfunctionspace method)": [[8, "pancax.fem.function_space.NonAllocatedFunctionSpace.shape_function_values", false]], "shape_functions (pancax.fem.function_space.nonallocatedfunctionspace attribute)": [[8, "pancax.fem.function_space.NonAllocatedFunctionSpace.shape_functions", false]], "shapefunctions (class in pancax.fem.elements.base_element)": [[9, "pancax.fem.elements.base_element.ShapeFunctions", false]], "shapegrads (pancax.fem.function_space.functionspace attribute)": [[8, "pancax.fem.function_space.FunctionSpace.shapeGrads", false]], "shapes (pancax.fem.function_space.functionspace attribute)": [[8, "pancax.fem.function_space.FunctionSpace.shapes", false]], "shear_modulus (pancax.constitutive_models.blatz_ko.blatzko attribute)": [[5, "pancax.constitutive_models.blatz_ko.BlatzKo.shear_modulus", false]], "shear_modulus (pancax.constitutive_models.gent.gent attribute)": [[5, "pancax.constitutive_models.gent.Gent.shear_modulus", false]], "shear_modulus (pancax.constitutive_models.neohookean.neohookean attribute)": [[5, "pancax.constitutive_models.neohookean.NeoHookean.shear_modulus", false]], "shift_inputs() (pancax.data.full_field_data.fullfielddata method)": [[6, "pancax.data.full_field_data.FullFieldData.shift_inputs", false]], "sideset (pancax.bcs.natural_bc.naturalbc attribute)": [[3, "pancax.bcs.natural_bc.NaturalBC.sideset", false]], "sidesets (pancax.fem.mesh.mesh attribute)": [[8, "pancax.fem.mesh.Mesh.sideSets", false]], "sigma (pancax.networks.rbf.rbfbasis attribute)": [[13, "pancax.networks.rbf.RBFBasis.sigma", false]], "simpleshearlinearramp() (in module pancax.bvps.simple_shear)": [[4, "pancax.bvps.simple_shear.SimpleShearLinearRamp", false]], "simplexnodesordinals (pancax.fem.mesh.mesh attribute)": [[8, "pancax.fem.mesh.Mesh.simplexNodesOrdinals", false]], "simplextrielement (class in pancax.fem.elements.simplex_tri_element)": [[9, "pancax.fem.elements.simplex_tri_element.SimplexTriElement", false]], "slice_unknowns_with_dof_indices() (pancax.fem.dof_manager.dofmanager method)": [[8, "pancax.fem.dof_manager.DofManager.slice_unknowns_with_dof_indices", false]], "solidmechanics (class in pancax.physics_kernels.solid_mechanics)": [[15, "pancax.physics_kernels.solid_mechanics.SolidMechanics", false]], "solve_eigen_problem() (pancax.domains.delta_pinn_domain.deltapinndomain method)": [[7, "pancax.domains.delta_pinn_domain.DeltaPINNDomain.solve_eigen_problem", false]], "sqrtm_dbp() (in module pancax.math.tensor_math)": [[12, "pancax.math.tensor_math.sqrtm_dbp", false]], "standard_pp() (in module pancax.kernels.base_kernel)": [[10, "pancax.kernels.base_kernel.standard_pp", false]], "standard_pp() (in module pancax.physics_kernels.base)": [[15, "pancax.physics_kernels.base.standard_pp", false]], "start() (pancax.timer.timer method)": [[2, "pancax.timer.Timer.start", false]], "step() (pancax.trainer.trainer method)": [[2, "pancax.trainer.Trainer.step", false]], "stiffness_matrix() (in module pancax.physics)": [[2, "pancax.physics.stiffness_matrix", false]], "stiffness_matrix() (pancax.physics_kernels.base.baseenergyformphysics method)": [[15, "pancax.physics_kernels.base.BaseEnergyFormPhysics.stiffness_matrix", false]], "stop() (pancax.timer.timer method)": [[2, "pancax.timer.Timer.stop", false]], "strong_form_neumann_bc() (pancax.kernels.base_kernel.strongformphysicskernel method)": [[10, "pancax.kernels.base_kernel.StrongFormPhysicsKernel.strong_form_neumann_bc", false]], "strong_form_neumann_bc() (pancax.kernels.linear_elasticity.linearelasticity2d method)": [[10, "pancax.kernels.linear_elasticity.LinearElasticity2D.strong_form_neumann_bc", false]], "strong_form_neumann_bc() (pancax.kernels.poisson.poisson method)": [[10, "pancax.kernels.poisson.Poisson.strong_form_neumann_bc", false]], "strong_form_neumann_bc() (pancax.physics_kernels.base.basestrongformphysics method)": [[15, "pancax.physics_kernels.base.BaseStrongFormPhysics.strong_form_neumann_bc", false]], "strong_form_neumann_bc() (pancax.physics_kernels.heat_equation.heatequation method)": [[15, "pancax.physics_kernels.heat_equation.HeatEquation.strong_form_neumann_bc", false]], "strong_form_neumann_bc() (pancax.physics_kernels.poisson.poisson method)": [[15, "pancax.physics_kernels.poisson.Poisson.strong_form_neumann_bc", false]], "strong_form_residual() (in module pancax.physics)": [[2, "pancax.physics.strong_form_residual", false]], "strong_form_residual() (pancax.kernels.base_kernel.strongformphysicskernel method)": [[10, "pancax.kernels.base_kernel.StrongFormPhysicsKernel.strong_form_residual", false]], "strong_form_residual() (pancax.kernels.linear_elasticity.linearelasticity2d method)": [[10, "pancax.kernels.linear_elasticity.LinearElasticity2D.strong_form_residual", false]], "strong_form_residual() (pancax.kernels.poisson.poisson method)": [[10, "pancax.kernels.poisson.Poisson.strong_form_residual", false]], "strong_form_residual() (pancax.physics_kernels.base.basestrongformphysics method)": [[15, "pancax.physics_kernels.base.BaseStrongFormPhysics.strong_form_residual", false]], "strong_form_residual() (pancax.physics_kernels.burgers_equation.burgersequation method)": [[15, "pancax.physics_kernels.burgers_equation.BurgersEquation.strong_form_residual", false]], "strong_form_residual() (pancax.physics_kernels.heat_equation.heatequation method)": [[15, "pancax.physics_kernels.heat_equation.HeatEquation.strong_form_residual", false]], "strong_form_residual() (pancax.physics_kernels.poisson.poisson method)": [[15, "pancax.physics_kernels.poisson.Poisson.strong_form_residual", false]], "strongformincompressibilityconstraint() (in module pancax.loss_functions.physics_loss_functions_strong_form)": [[11, "pancax.loss_functions.physics_loss_functions_strong_form.StrongFormIncompressibilityConstraint", false]], "strongformneumannbcloss() (in module pancax.loss_functions.physics_loss_functions_strong_form)": [[11, "pancax.loss_functions.physics_loss_functions_strong_form.StrongFormNeumannBCLoss", false]], "strongformphysicskernel (class in pancax.kernels.base_kernel)": [[10, "pancax.kernels.base_kernel.StrongFormPhysicsKernel", false]], "strongformresidualloss (class in pancax.loss_functions.strong_form_loss_functions)": [[11, "pancax.loss_functions.strong_form_loss_functions.StrongFormResidualLoss", false]], "strongformresidualloss() (in module pancax.loss_functions.physics_loss_functions_strong_form)": [[11, "pancax.loss_functions.physics_loss_functions_strong_form.StrongFormResidualLoss", false]], "sum2() (in module pancax.math.math)": [[12, "pancax.math.math.sum2", false]], "swanson (class in pancax.constitutive_models.swanson)": [[5, "pancax.constitutive_models.swanson.Swanson", false]], "sym() (in module pancax.math.tensor_math)": [[12, "pancax.math.tensor_math.sym", false]], "tensor_2d_to_3d() (in module pancax.math.tensor_math)": [[12, "pancax.math.tensor_math.tensor_2D_to_3D", false]], "tensor_norm() (in module pancax.math.tensor_math)": [[12, "pancax.math.tensor_math.tensor_norm", false]], "tet10element (class in pancax.fem.elements.tet10_element)": [[9, "pancax.fem.elements.tet10_element.Tet10Element", false]], "tet4element (class in pancax.fem.elements.tet4_element)": [[9, "pancax.fem.elements.tet4_element.Tet4Element", false]], "text (pancax.timer.timer attribute)": [[2, "pancax.timer.Timer.text", false]], "threedimensional (class in pancax.physics_kernels.solid_mechanics)": [[15, "pancax.physics_kernels.solid_mechanics.ThreeDimensional", false]], "timer (class in pancax.timer)": [[2, "pancax.timer.Timer", false]], "timererror": [[2, "pancax.timer.TimerError", false]], "timers (pancax.timer.timer attribute)": [[2, "pancax.timer.Timer.timers", false]], "times (pancax.data.global_data.globaldata attribute)": [[6, "pancax.data.global_data.GlobalData.times", false]], "times (pancax.domains.base.basedomain attribute)": [[7, "pancax.domains.base.BaseDomain.times", false]], "times (pancax.domains.collocation_domain.collocationdomain attribute)": [[7, "pancax.domains.collocation_domain.CollocationDomain.times", false]], "times (pancax.domains.variational_domain.variationaldomain attribute)": [[7, "pancax.domains.variational_domain.VariationalDomain.times", false]], "times (pancax.problems.forward_problem.forwardproblem property)": [[16, "pancax.problems.forward_problem.ForwardProblem.times", false]], "to_csv() (pancax.history_writer.basehistorywriter method)": [[2, "pancax.history_writer.BaseHistoryWriter.to_csv", false]], "to_csv() (pancax.history_writer.ensemblehistorywriter method)": [[2, "pancax.history_writer.EnsembleHistoryWriter.to_csv", false]], "to_csv() (pancax.history_writer.historywriter method)": [[2, "pancax.history_writer.HistoryWriter.to_csv", false]], "traction_energy() (in module pancax.physics)": [[2, "pancax.physics.traction_energy", false]], "train() (pancax.optimizers.base.optimizer method)": [[14, "pancax.optimizers.base.Optimizer.train", false]], "train() (pancax.trainer.trainer method)": [[2, "pancax.trainer.Trainer.train", false]], "trainable_filter() (in module pancax.optimizers.utils)": [[14, "pancax.optimizers.utils.trainable_filter", false]], "trainer (class in pancax.trainer)": [[2, "pancax.trainer.Trainer", false]], "triaxiality() (in module pancax.math.tensor_math)": [[12, "pancax.math.tensor_math.triaxiality", false]], "trunc_init() (in module pancax.networks.initialization)": [[13, "pancax.networks.initialization.trunc_init", false]], "uniaxialtensionlinearramp() (in module pancax.bvps.uniaxial_tension)": [[4, "pancax.bvps.uniaxial_tension.UniaxialTensionLinearRamp", false]], "update_dirichlet_bc_func() (pancax.physics_kernels.base.basephysics method)": [[15, "pancax.physics_kernels.base.BasePhysics.update_dirichlet_bc_func", false]], "update_dof_manager() (pancax.domains.variational_domain.variationaldomain method)": [[7, "pancax.domains.variational_domain.VariationalDomain.update_dof_manager", false]], "update_normalization() (pancax.physics_kernels.base.basephysics method)": [[15, "pancax.physics_kernels.base.BasePhysics.update_normalization", false]], "update_var_name_to_method() (pancax.physics_kernels.base.basephysics method)": [[15, "pancax.physics_kernels.base.BasePhysics.update_var_name_to_method", false]], "use_delta_pinn (pancax.kernels.base_kernel.physicskernel attribute)": [[10, "pancax.kernels.base_kernel.PhysicsKernel.use_delta_pinn", false]], "use_delta_pinn (pancax.kernels.base_kernel.strongformphysicskernel attribute)": [[10, "pancax.kernels.base_kernel.StrongFormPhysicsKernel.use_delta_pinn", false]], "use_delta_pinn (pancax.kernels.base_kernel.weakformphysicskernel attribute)": [[10, "pancax.kernels.base_kernel.WeakFormPhysicsKernel.use_delta_pinn", false]], "use_delta_pinn (pancax.kernels.laplace_beltrami.laplacebeltrami attribute)": [[10, "pancax.kernels.laplace_beltrami.LaplaceBeltrami.use_delta_pinn", false]], "use_delta_pinn (pancax.kernels.linear_elasticity.linearelasticity2d attribute)": [[10, "pancax.kernels.linear_elasticity.LinearElasticity2D.use_delta_pinn", false]], "use_delta_pinn (pancax.kernels.poisson.poisson attribute)": [[10, "pancax.kernels.poisson.Poisson.use_delta_pinn", false]], "value_and_grad_from_state() (in module pancax.optimizers.lbfgs)": [[14, "pancax.optimizers.lbfgs.value_and_grad_from_state", false]], "values (pancax.fem.elements.base_element.shapefunctions attribute)": [[9, "pancax.fem.elements.base_element.ShapeFunctions.values", false]], "vander1d() (in module pancax.fem.elements.base_element)": [[9, "pancax.fem.elements.base_element.vander1d", false]], "vander2d() (in module pancax.fem.elements.base_element)": [[9, "pancax.fem.elements.base_element.vander2d", false]], "var_name_to_method (pancax.kernels.base_kernel.physicskernel attribute)": [[10, "pancax.kernels.base_kernel.PhysicsKernel.var_name_to_method", false]], "var_name_to_method (pancax.physics_kernels.base.basephysics attribute)": [[15, "pancax.physics_kernels.base.BasePhysics.var_name_to_method", false]], "variationaldomain (class in pancax.domains.variational_domain)": [[7, "pancax.domains.variational_domain.VariationalDomain", false]], "vector_names() (in module pancax.kernels.base_kernel)": [[10, "pancax.kernels.base_kernel.vector_names", false]], "vertexnodes (pancax.fem.elements.base_element.baseelement attribute)": [[9, "pancax.fem.elements.base_element.BaseElement.vertexNodes", false]], "vertexnodes (pancax.fem.elements.hex8_element.hex8element attribute)": [[9, "pancax.fem.elements.hex8_element.Hex8Element.vertexNodes", false]], "vertexnodes (pancax.fem.elements.line_element.lineelement attribute)": [[9, "pancax.fem.elements.line_element.LineElement.vertexNodes", false]], "vertexnodes (pancax.fem.elements.quad4_element.quad4element attribute)": [[9, "pancax.fem.elements.quad4_element.Quad4Element.vertexNodes", false]], "vertexnodes (pancax.fem.elements.quad9_element.quad9element attribute)": [[9, "pancax.fem.elements.quad9_element.Quad9Element.vertexNodes", false]], "vertexnodes (pancax.fem.elements.simplex_tri_element.simplextrielement attribute)": [[9, "pancax.fem.elements.simplex_tri_element.SimplexTriElement.vertexNodes", false]], "vertexnodes (pancax.fem.elements.tet10_element.tet10element attribute)": [[9, "pancax.fem.elements.tet10_element.Tet10Element.vertexNodes", false]], "vertexnodes (pancax.fem.elements.tet4_element.tet4element attribute)": [[9, "pancax.fem.elements.tet4_element.Tet4Element.vertexNodes", false]], "vmap_element_energy() (pancax.physics_kernels.base.baseenergyformphysics method)": [[15, "pancax.physics_kernels.base.BaseEnergyFormPhysics.vmap_element_energy", false]], "vmap_field_gradients() (pancax.physics_kernels.base.basephysics method)": [[15, "pancax.physics_kernels.base.BasePhysics.vmap_field_gradients", false]], "vmap_field_values() (pancax.physics_kernels.base.basephysics method)": [[15, "pancax.physics_kernels.base.BasePhysics.vmap_field_values", false]], "vols (pancax.fem.function_space.functionspace attribute)": [[8, "pancax.fem.function_space.FunctionSpace.vols", false]], "vtkpostprocessor (class in pancax.post_processor)": [[2, "pancax.post_processor.VtkPostProcessor", false]], "weakformphysicskernel (class in pancax.kernels.base_kernel)": [[10, "pancax.kernels.base_kernel.WeakFormPhysicsKernel", false]], "weight (pancax.loss_functions.bc_loss_functions.dirichletbcloss attribute)": [[11, "pancax.loss_functions.bc_loss_functions.DirichletBCLoss.weight", false]], "weight (pancax.loss_functions.bc_loss_functions.neumannbcloss attribute)": [[11, "pancax.loss_functions.bc_loss_functions.NeumannBCLoss.weight", false]], "weight (pancax.loss_functions.data_loss_functions.fullfielddataloss attribute)": [[11, "pancax.loss_functions.data_loss_functions.FullFieldDataLoss.weight", false]], "weight (pancax.loss_functions.ic_loss_function.iclossfunction attribute)": [[11, "pancax.loss_functions.ic_loss_function.ICLossFunction.weight", false]], "weight (pancax.loss_functions.strong_form_loss_functions.strongformresidualloss attribute)": [[11, "pancax.loss_functions.strong_form_loss_functions.StrongFormResidualLoss.weight", false]], "weight (pancax.loss_functions.weak_form_loss_functions.energyloss attribute)": [[11, "pancax.loss_functions.weak_form_loss_functions.EnergyLoss.weight", false]], "weight (pancax.loss_functions.weak_form_loss_functions.incompressibleenergyloss attribute)": [[11, "pancax.loss_functions.weak_form_loss_functions.IncompressibleEnergyLoss.weight", false]], "weight (pancax.loss_functions.weak_form_loss_functions.quadratureincompressibilityconstraint attribute)": [[11, "pancax.loss_functions.weak_form_loss_functions.QuadratureIncompressibilityConstraint.weight", false]], "weight (pancax.loss_functions.weak_form_loss_functions.residualmseloss attribute)": [[11, "pancax.loss_functions.weak_form_loss_functions.ResidualMSELoss.weight", false]], "wgauss (pancax.fem.quadrature_rules.quadraturerule attribute)": [[8, "pancax.fem.quadrature_rules.QuadratureRule.wgauss", false]], "with_props (pancax.loss_functions.utils.combinelossfunctions attribute)": [[11, "pancax.loss_functions.utils.CombineLossFunctions.with_props", false]], "write_aux_values() (pancax.history_writer.basehistorywriter method)": [[2, "pancax.history_writer.BaseHistoryWriter.write_aux_values", false]], "write_aux_values() (pancax.history_writer.ensemblehistorywriter method)": [[2, "pancax.history_writer.EnsembleHistoryWriter.write_aux_values", false]], "write_aux_values() (pancax.history_writer.historywriter method)": [[2, "pancax.history_writer.HistoryWriter.write_aux_values", false]], "write_aux_values() (pancax.logging.baselogger method)": [[2, "pancax.logging.BaseLogger.write_aux_values", false]], "write_aux_values() (pancax.logging.ensemblelogger method)": [[2, "pancax.logging.EnsembleLogger.write_aux_values", false]], "write_aux_values() (pancax.logging.logger method)": [[2, "pancax.logging.Logger.write_aux_values", false]], "write_data() (pancax.history_writer.basehistorywriter method)": [[2, "pancax.history_writer.BaseHistoryWriter.write_data", false]], "write_epoch() (pancax.history_writer.basehistorywriter method)": [[2, "pancax.history_writer.BaseHistoryWriter.write_epoch", false]], "write_epoch() (pancax.history_writer.ensemblehistorywriter method)": [[2, "pancax.history_writer.EnsembleHistoryWriter.write_epoch", false]], "write_epoch() (pancax.history_writer.historywriter method)": [[2, "pancax.history_writer.HistoryWriter.write_epoch", false]], "write_epoch_value() (pancax.logging.baselogger method)": [[2, "pancax.logging.BaseLogger.write_epoch_value", false]], "write_epoch_value() (pancax.logging.ensemblelogger method)": [[2, "pancax.logging.EnsembleLogger.write_epoch_value", false]], "write_epoch_value() (pancax.logging.logger method)": [[2, "pancax.logging.Logger.write_epoch_value", false]], "write_every (pancax.history_writer.basehistorywriter attribute)": [[2, "pancax.history_writer.BaseHistoryWriter.write_every", false]], "write_every (pancax.history_writer.ensemblehistorywriter attribute)": [[2, "pancax.history_writer.EnsembleHistoryWriter.write_every", false]], "write_every (pancax.history_writer.historywriter attribute)": [[2, "pancax.history_writer.HistoryWriter.write_every", false]], "write_history() (pancax.history_writer.basehistorywriter method)": [[2, "pancax.history_writer.BaseHistoryWriter.write_history", false]], "write_loss() (pancax.history_writer.basehistorywriter method)": [[2, "pancax.history_writer.BaseHistoryWriter.write_loss", false]], "write_loss() (pancax.history_writer.ensemblehistorywriter method)": [[2, "pancax.history_writer.EnsembleHistoryWriter.write_loss", false]], "write_loss() (pancax.history_writer.historywriter method)": [[2, "pancax.history_writer.HistoryWriter.write_loss", false]], "write_loss_value() (pancax.logging.baselogger method)": [[2, "pancax.logging.BaseLogger.write_loss_value", false]], "write_loss_value() (pancax.logging.ensemblelogger method)": [[2, "pancax.logging.EnsembleLogger.write_loss_value", false]], "write_loss_value() (pancax.logging.logger method)": [[2, "pancax.logging.Logger.write_loss_value", false]], "write_outputs() (pancax.post_processor.exoduspostprocessor method)": [[2, "pancax.post_processor.ExodusPostProcessor.write_outputs", false]], "write_outputs() (pancax.post_processor.postprocessor method)": [[2, "pancax.post_processor.PostProcessor.write_outputs", false]], "write_outputs() (pancax.post_processor.vtkpostprocessor method)": [[2, "pancax.post_processor.VtkPostProcessor.write_outputs", false]], "write_outputs() (pancax.trainer.trainer method)": [[2, "pancax.trainer.Trainer.write_outputs", false]], "x_maxs (pancax.physics_kernels.base.basephysics attribute)": [[15, "pancax.physics_kernels.base.BasePhysics.x_maxs", false]], "x_mins (pancax.physics_kernels.base.basephysics attribute)": [[15, "pancax.physics_kernels.base.BasePhysics.x_mins", false]], "xigauss (pancax.fem.quadrature_rules.quadraturerule attribute)": [[8, "pancax.fem.quadrature_rules.QuadratureRule.xigauss", false]], "zero_init() (in module pancax.networks.initialization)": [[13, "pancax.networks.initialization.zero_init", false]]}, "objects": {"": [[2, 0, 0, "-", "pancax"]], "pancax": [[3, 0, 0, "-", "bcs"], [4, 0, 0, "-", "bvps"], [5, 0, 0, "-", "constitutive_models"], [6, 0, 0, "-", "data"], [7, 0, 0, "-", "domains"], [8, 0, 0, "-", "fem"], [2, 0, 0, "-", "history_writer"], [10, 0, 0, "-", "kernels"], [2, 0, 0, "-", "kinematics"], [2, 0, 0, "-", "logging"], [11, 0, 0, "-", "loss_functions"], [12, 0, 0, "-", "math"], [13, 0, 0, "-", "networks"], [14, 0, 0, "-", "optimizers"], [2, 0, 0, "-", "physics"], [15, 0, 0, "-", "physics_kernels"], [2, 0, 0, "-", "post_processor"], [16, 0, 0, "-", "problems"], [2, 0, 0, "-", "timer"], [2, 0, 0, "-", "trainer"], [2, 0, 0, "-", "utils"]], "pancax.bcs": [[3, 0, 0, "-", "distance_functions"], [3, 0, 0, "-", "essential_bc"], [3, 0, 0, "-", "natural_bc"]], "pancax.bcs.distance_functions": [[3, 1, 1, "", "distance"], [3, 1, 1, "", "distance_function"], [3, 1, 1, "", "get_edges"], [3, 1, 1, "", "line_segment"]], "pancax.bcs.essential_bc": [[3, 2, 1, "", "EssentialBC"], [3, 2, 1, "", "EssentialBCSet"]], "pancax.bcs.essential_bc.EssentialBC": [[3, 3, 1, "", "__init__"], [3, 4, 1, "", "_abc_impl"], [3, 4, 1, "", "component"], [3, 3, 1, "", "coordinates"], [3, 3, 1, "", "function"], [3, 4, 1, "", "nodeSet"]], "pancax.bcs.essential_bc.EssentialBCSet": [[3, 3, 1, "", "__init__"], [3, 4, 1, "", "_abc_impl"], [3, 4, 1, "", "bcs"]], "pancax.bcs.natural_bc": [[3, 2, 1, "", "NaturalBC"]], "pancax.bcs.natural_bc.NaturalBC": [[3, 3, 1, "", "__init__"], [3, 4, 1, "", "_abc_impl"], [3, 3, 1, "", "coordinates"], [3, 3, 1, "", "function"], [3, 3, 1, "", "normals"], [3, 4, 1, "", "sideset"]], "pancax.bvps": [[4, 0, 0, "-", "biaxial_tension"], [4, 0, 0, "-", "simple_shear"], [4, 0, 0, "-", "uniaxial_tension"]], "pancax.bvps.biaxial_tension": [[4, 1, 1, "", "BiaxialLinearRamp"]], "pancax.bvps.simple_shear": [[4, 1, 1, "", "SimpleShearLinearRamp"]], "pancax.bvps.uniaxial_tension": [[4, 1, 1, "", "UniaxialTensionLinearRamp"]], "pancax.constitutive_models": [[5, 0, 0, "-", "base"], [5, 0, 0, "-", "blatz_ko"], [5, 0, 0, "-", "gent"], [5, 0, 0, "-", "neohookean"], [5, 0, 0, "-", "properties"], [5, 0, 0, "-", "swanson"]], "pancax.constitutive_models.base": [[5, 2, 1, "", "BaseConstitutiveModel"]], "pancax.constitutive_models.base.BaseConstitutiveModel": [[5, 3, 1, "", "I1"], [5, 3, 1, "", "I1_bar"], [5, 3, 1, "", "I2"], [5, 3, 1, "", "I2_bar"], [5, 3, 1, "", "__init__"], [5, 4, 1, "", "_abc_impl"], [5, 3, 1, "", "cauchy_stress"], [5, 3, 1, "", "energy"], [5, 3, 1, "", "invariants"], [5, 3, 1, "", "jacobian"], [5, 3, 1, "", "pk1_stress"], [5, 3, 1, "", "properties"]], "pancax.constitutive_models.blatz_ko": [[5, 2, 1, "", "BlatzKo"]], "pancax.constitutive_models.blatz_ko.BlatzKo": [[5, 3, 1, "", "__init__"], [5, 4, 1, "", "_abc_impl"], [5, 3, 1, "", "energy"], [5, 4, 1, "", "shear_modulus"]], "pancax.constitutive_models.gent": [[5, 2, 1, "", "Gent"]], "pancax.constitutive_models.gent.Gent": [[5, 4, 1, "", "Jm_parameter"], [5, 3, 1, "", "__init__"], [5, 4, 1, "", "_abc_impl"], [5, 4, 1, "", "bulk_modulus"], [5, 3, 1, "", "energy"], [5, 4, 1, "", "shear_modulus"]], "pancax.constitutive_models.neohookean": [[5, 2, 1, "", "NeoHookean"]], "pancax.constitutive_models.neohookean.NeoHookean": [[5, 3, 1, "", "__init__"], [5, 4, 1, "", "_abc_impl"], [5, 4, 1, "", "bulk_modulus"], [5, 3, 1, "", "energy"], [5, 4, 1, "", "shear_modulus"]], "pancax.constitutive_models.properties": [[5, 2, 1, "", "BoundedProperty"]], "pancax.constitutive_models.properties.BoundedProperty": [[5, 3, 1, "", "__init__"], [5, 4, 1, "", "_abc_impl"], [5, 3, 1, "", "_check_other_type"], [5, 4, 1, "", "prop_max"], [5, 4, 1, "", "prop_min"], [5, 4, 1, "", "prop_val"]], "pancax.constitutive_models.swanson": [[5, 2, 1, "", "Swanson"]], "pancax.constitutive_models.swanson.Swanson": [[5, 4, 1, "", "A1"], [5, 4, 1, "", "B1"], [5, 4, 1, "", "C1"], [5, 4, 1, "", "P1"], [5, 4, 1, "", "Q1"], [5, 4, 1, "", "R1"], [5, 3, 1, "", "__init__"], [5, 4, 1, "", "_abc_impl"], [5, 4, 1, "", "bulk_modulus"], [5, 4, 1, "", "cutoff_strain"], [5, 3, 1, "", "energy"]], "pancax.data": [[6, 0, 0, "-", "full_field_data"], [6, 0, 0, "-", "global_data"]], "pancax.data.full_field_data": [[6, 2, 1, "", "FullFieldData"]], "pancax.data.full_field_data.FullFieldData": [[6, 3, 1, "", "__init__"], [6, 4, 1, "", "_abc_impl"], [6, 4, 1, "", "inputs"], [6, 4, 1, "", "n_time_steps"], [6, 4, 1, "", "outputs"], [6, 3, 1, "", "plot_data"], [6, 3, 1, "", "plot_registration"], [6, 3, 1, "", "set_input_component_values"], [6, 3, 1, "", "shift_inputs"]], "pancax.data.global_data": [[6, 2, 1, "", "GlobalData"]], "pancax.data.global_data.GlobalData": [[6, 3, 1, "", "__init__"], [6, 4, 1, "", "_abc_impl"], [6, 4, 1, "", "displacements"], [6, 4, 1, "", "n_nodes"], [6, 4, 1, "", "n_time_steps"], [6, 4, 1, "", "outputs"], [6, 4, 1, "", "reaction_dof"], [6, 4, 1, "", "reaction_nodes"], [6, 4, 1, "", "times"]], "pancax.domains": [[7, 0, 0, "-", "base"], [7, 0, 0, "-", "collocation_domain"], [7, 0, 0, "-", "delta_pinn_domain"], [7, 0, 0, "-", "variational_domain"]], "pancax.domains.base": [[7, 2, 1, "", "BaseDomain"]], "pancax.domains.base.BaseDomain": [[7, 3, 1, "", "__init__"], [7, 4, 1, "", "_abc_impl"], [7, 4, 1, "", "coords"], [7, 4, 1, "", "mesh"], [7, 4, 1, "", "mesh_file"], [7, 4, 1, "", "times"]], "pancax.domains.collocation_domain": [[7, 2, 1, "", "CollocationDomain"]], "pancax.domains.collocation_domain.CollocationDomain": [[7, 3, 1, "", "__init__"], [7, 4, 1, "", "_abc_impl"], [7, 4, 1, "", "coords"], [7, 4, 1, "", "mesh"], [7, 4, 1, "", "mesh_file"], [7, 4, 1, "", "times"]], "pancax.domains.delta_pinn_domain": [[7, 2, 1, "", "DeltaPINNDomain"]], "pancax.domains.delta_pinn_domain.DeltaPINNDomain": [[7, 3, 1, "", "__init__"], [7, 4, 1, "", "_abc_impl"], [7, 4, 1, "", "eigen_modes"], [7, 4, 1, "", "n_eigen_values"], [7, 4, 1, "", "physics"], [7, 3, 1, "", "solve_eigen_problem"]], "pancax.domains.variational_domain": [[7, 2, 1, "", "VariationalDomain"]], "pancax.domains.variational_domain.VariationalDomain": [[7, 3, 1, "", "__init__"], [7, 4, 1, "", "_abc_impl"], [7, 4, 1, "", "conns"], [7, 4, 1, "", "coords"], [7, 4, 1, "", "dof_manager"], [7, 4, 1, "", "fspace"], [7, 4, 1, "", "fspace_centroid"], [7, 4, 1, "", "mesh"], [7, 4, 1, "", "mesh_file"], [7, 4, 1, "", "times"], [7, 3, 1, "", "update_dof_manager"]], "pancax.fem": [[8, 0, 0, "-", "dof_manager"], [9, 0, 0, "-", "elements"], [8, 0, 0, "-", "function_space"], [8, 0, 0, "-", "mesh"], [8, 0, 0, "-", "quadrature_rules"], [8, 0, 0, "-", "read_exodus_mesh"], [8, 0, 0, "-", "sparse_matrix_assembler"], [8, 0, 0, "-", "surface"], [8, 0, 0, "-", "traction_bc"]], "pancax.fem.dof_manager": [[8, 2, 1, "", "DofManager"]], "pancax.fem.dof_manager.DofManager": [[8, 3, 1, "", "__init__"], [8, 3, 1, "", "_make_hessian_bc_mask"], [8, 3, 1, "", "_make_hessian_coordinates"], [8, 3, 1, "", "create_field"], [8, 3, 1, "", "get_bc_size"], [8, 3, 1, "", "get_bc_values"], [8, 3, 1, "", "get_unknown_size"], [8, 3, 1, "", "get_unknown_values"], [8, 3, 1, "", "slice_unknowns_with_dof_indices"]], "pancax.fem.elements": [[9, 0, 0, "-", "base_element"], [9, 0, 0, "-", "hex8_element"], [9, 0, 0, "-", "line_element"], [9, 0, 0, "-", "quad4_element"], [9, 0, 0, "-", "quad9_element"], [9, 0, 0, "-", "simplex_tri_element"], [9, 0, 0, "-", "tet10_element"], [9, 0, 0, "-", "tet4_element"]], "pancax.fem.elements.base_element": [[9, 2, 1, "", "BaseElement"], [9, 2, 1, "", "ShapeFunctions"], [9, 1, 1, "", "get_lobatto_nodes_1d"], [9, 1, 1, "", "pascal_triangle_monomials"], [9, 1, 1, "", "vander1d"], [9, 1, 1, "", "vander2d"]], "pancax.fem.elements.base_element.BaseElement": [[9, 3, 1, "", "__init__"], [9, 4, 1, "", "_abc_impl"], [9, 3, 1, "", "compute_shapes"], [9, 4, 1, "", "coordinates"], [9, 4, 1, "", "degree"], [9, 4, 1, "", "elementType"], [9, 4, 1, "", "faceNodes"], [9, 4, 1, "", "interiorNodes"], [9, 4, 1, "", "vertexNodes"]], "pancax.fem.elements.base_element.ShapeFunctions": [[9, 3, 1, "", "_asdict"], [9, 4, 1, "", "_field_defaults"], [9, 4, 1, "", "_fields"], [9, 3, 1, "", "_make"], [9, 3, 1, "", "_replace"], [9, 4, 1, "", "gradients"], [9, 4, 1, "", "values"]], "pancax.fem.elements.hex8_element": [[9, 2, 1, "", "Hex8Element"]], "pancax.fem.elements.hex8_element.Hex8Element": [[9, 3, 1, "", "__init__"], [9, 4, 1, "", "_abc_impl"], [9, 3, 1, "", "compute_shapes"], [9, 4, 1, "", "coordinates"], [9, 4, 1, "", "degree"], [9, 4, 1, "", "elementType"], [9, 4, 1, "", "faceNodes"], [9, 4, 1, "", "interiorNodes"], [9, 4, 1, "", "vertexNodes"]], "pancax.fem.elements.line_element": [[9, 2, 1, "", "LineElement"]], "pancax.fem.elements.line_element.LineElement": [[9, 3, 1, "", "__init__"], [9, 4, 1, "", "_abc_impl"], [9, 3, 1, "", "compute_shapes"], [9, 4, 1, "", "coordinates"], [9, 4, 1, "", "degree"], [9, 4, 1, "", "elementType"], [9, 4, 1, "", "faceNodes"], [9, 4, 1, "", "interiorNodes"], [9, 4, 1, "", "vertexNodes"]], "pancax.fem.elements.quad4_element": [[9, 2, 1, "", "Quad4Element"]], "pancax.fem.elements.quad4_element.Quad4Element": [[9, 3, 1, "", "__init__"], [9, 4, 1, "", "_abc_impl"], [9, 3, 1, "", "compute_shapes"], [9, 4, 1, "", "coordinates"], [9, 4, 1, "", "degree"], [9, 4, 1, "", "elementType"], [9, 4, 1, "", "faceNodes"], [9, 4, 1, "", "interiorNodes"], [9, 4, 1, "", "vertexNodes"]], "pancax.fem.elements.quad9_element": [[9, 2, 1, "", "Quad9Element"]], "pancax.fem.elements.quad9_element.Quad9Element": [[9, 3, 1, "", "__init__"], [9, 4, 1, "", "_abc_impl"], [9, 3, 1, "", "compute_shapes"], [9, 4, 1, "", "coordinates"], [9, 4, 1, "", "degree"], [9, 4, 1, "", "elementType"], [9, 4, 1, "", "faceNodes"], [9, 4, 1, "", "interiorNodes"], [9, 4, 1, "", "vertexNodes"]], "pancax.fem.elements.simplex_tri_element": [[9, 2, 1, "", "SimplexTriElement"]], "pancax.fem.elements.simplex_tri_element.SimplexTriElement": [[9, 3, 1, "", "__init__"], [9, 4, 1, "", "_abc_impl"], [9, 3, 1, "", "compute_shapes"], [9, 4, 1, "", "coordinates"], [9, 4, 1, "", "degree"], [9, 4, 1, "", "elementType"], [9, 4, 1, "", "faceNodes"], [9, 4, 1, "", "interiorNodes"], [9, 4, 1, "", "vertexNodes"]], "pancax.fem.elements.tet10_element": [[9, 2, 1, "", "Tet10Element"]], "pancax.fem.elements.tet10_element.Tet10Element": [[9, 3, 1, "", "__init__"], [9, 4, 1, "", "_abc_impl"], [9, 3, 1, "", "compute_shapes"], [9, 4, 1, "", "coordinates"], [9, 4, 1, "", "degree"], [9, 4, 1, "", "elementType"], [9, 4, 1, "", "faceNodes"], [9, 4, 1, "", "interiorNodes"], [9, 4, 1, "", "vertexNodes"]], "pancax.fem.elements.tet4_element": [[9, 2, 1, "", "Tet4Element"]], "pancax.fem.elements.tet4_element.Tet4Element": [[9, 3, 1, "", "__init__"], [9, 4, 1, "", "_abc_impl"], [9, 3, 1, "", "compute_shapes"], [9, 4, 1, "", "coordinates"], [9, 4, 1, "", "degree"], [9, 4, 1, "", "elementType"], [9, 4, 1, "", "faceNodes"], [9, 4, 1, "", "interiorNodes"], [9, 4, 1, "", "vertexNodes"]], "pancax.fem.function_space": [[8, 2, 1, "", "FunctionSpace"], [8, 2, 1, "", "NonAllocatedFunctionSpace"], [8, 1, 1, "", "average_quadrature_field_over_element"], [8, 1, 1, "", "compute_element_field_gradient"], [8, 1, 1, "", "compute_element_volumes"], [8, 1, 1, "", "compute_element_volumes_axisymmetric"], [8, 1, 1, "", "compute_field_gradient"], [8, 1, 1, "", "compute_quadrature_point_field_gradient"], [8, 1, 1, "", "construct_function_space"], [8, 1, 1, "", "construct_function_space_from_parent_element"], [8, 1, 1, "", "default_modify_element_gradient"], [8, 1, 1, "", "evaluate_on_block"], [8, 1, 1, "", "evaluate_on_element"], [8, 1, 1, "", "get_nodal_values_on_edge"], [8, 1, 1, "", "integrate_element"], [8, 1, 1, "", "integrate_element_from_local_field"], [8, 1, 1, "", "integrate_function_on_edge"], [8, 1, 1, "", "integrate_function_on_edges"], [8, 1, 1, "", "integrate_over_block"], [8, 1, 1, "", "interpolate_nodal_field_on_edge"], [8, 1, 1, "", "interpolate_to_element_points"], [8, 1, 1, "", "interpolate_to_point"], [8, 1, 1, "", "interpolate_to_points"], [8, 1, 1, "", "map_element_shape_grads"], [8, 1, 1, "", "project_quadrature_field_to_element_field"]], "pancax.fem.function_space.FunctionSpace": [[8, 3, 1, "", "__init__"], [8, 4, 1, "", "_abc_impl"], [8, 4, 1, "", "conns"], [8, 4, 1, "", "isAxisymmetric"], [8, 4, 1, "", "quadratureRule"], [8, 4, 1, "", "shapeGrads"], [8, 4, 1, "", "shapes"], [8, 4, 1, "", "vols"]], "pancax.fem.function_space.NonAllocatedFunctionSpace": [[8, 3, 1, "", "JxWs"], [8, 3, 1, "", "__init__"], [8, 4, 1, "", "_abc_impl"], [8, 3, 1, "", "compute_field_gradient"], [8, 3, 1, "", "evaluate_on_element"], [8, 3, 1, "", "integrate_on_element"], [8, 3, 1, "", "integrate_on_elements"], [8, 4, 1, "", "quadrature_rule"], [8, 3, 1, "", "shape_function_gradients"], [8, 3, 1, "", "shape_function_values"], [8, 4, 1, "", "shape_functions"]], "pancax.fem.mesh": [[8, 2, 1, "", "Mesh"], [8, 1, 1, "", "combine_blocks"], [8, 1, 1, "", "combine_mesh"], [8, 1, 1, "", "combine_nodesets"], [8, 1, 1, "", "combine_sidesets"], [8, 1, 1, "", "compute_edge_vectors"], [8, 1, 1, "", "construct_mesh_from_basic_data"], [8, 1, 1, "", "construct_structured_mesh"], [8, 1, 1, "", "create_edges"], [8, 1, 1, "", "create_higher_order_mesh_from_simplex_mesh"], [8, 1, 1, "", "create_nodesets_from_sidesets"], [8, 1, 1, "", "create_structured_mesh_data"], [8, 1, 1, "", "get_edge_coords"], [8, 1, 1, "", "get_edge_field"], [8, 1, 1, "", "get_edge_node_indices"], [8, 1, 1, "", "mesh_with_blocks"], [8, 1, 1, "", "mesh_with_coords"], [8, 1, 1, "", "mesh_with_nodesets"], [8, 1, 1, "", "num_nodes"]], "pancax.fem.mesh.Mesh": [[8, 3, 1, "", "__init__"], [8, 4, 1, "", "_abc_impl"], [8, 4, 1, "", "blocks"], [8, 4, 1, "", "conns"], [8, 4, 1, "", "coords"], [8, 3, 1, "", "get_blocks"], [8, 4, 1, "", "nodeSets"], [8, 5, 1, "", "num_dimensions"], [8, 5, 1, "", "num_elements"], [8, 5, 1, "", "num_nodes"], [8, 4, 1, "", "parentElement"], [8, 4, 1, "", "parentElement1d"], [8, 4, 1, "", "sideSets"], [8, 4, 1, "", "simplexNodesOrdinals"]], "pancax.fem.quadrature_rules": [[8, 2, 1, "", "QuadratureRule"], [8, 1, 1, "", "_gauss_quad_1D_1pt"], [8, 1, 1, "", "_gauss_quad_1D_2pt"], [8, 1, 1, "", "_gauss_quad_1D_3pt"], [8, 1, 1, "", "_gauss_quad_1D_4pt"], [8, 1, 1, "", "_gauss_quad_1D_5pt"], [8, 1, 1, "", "create_padded_quadrature_rule_1D"], [8, 1, 1, "", "create_quadrature_rule_1D"], [8, 1, 1, "", "create_quadrature_rule_on_hex"], [8, 1, 1, "", "create_quadrature_rule_on_quad"], [8, 1, 1, "", "create_quadrature_rule_on_tet"], [8, 1, 1, "", "create_quadrature_rule_on_triangle"], [8, 1, 1, "", "eval_at_iso_points"]], "pancax.fem.quadrature_rules.QuadratureRule": [[8, 3, 1, "", "__init__"], [8, 4, 1, "", "_abc_impl"], [8, 3, 1, "", "eval_at_iso_points"], [8, 4, 1, "", "wgauss"], [8, 4, 1, "", "xigauss"]], "pancax.fem.read_exodus_mesh": [[8, 1, 1, "", "_get_vertex_nodes_from_exodus_tri6_mesh"], [8, 1, 1, "", "_read_block_conns"], [8, 1, 1, "", "_read_blocks"], [8, 1, 1, "", "_read_coordinates"], [8, 1, 1, "", "_read_element_type"], [8, 1, 1, "", "_read_names_list"], [8, 1, 1, "", "_read_node_sets"], [8, 1, 1, "", "_read_side_sets"], [8, 1, 1, "", "read_exodus_mesh"]], "pancax.fem.sparse_matrix_assembler": [[8, 1, 1, "", "assemble_sparse_stiffness_matrix"]], "pancax.fem.surface": [[8, 1, 1, "", "compute_edge_vectors"], [8, 1, 1, "", "compute_normal"], [8, 1, 1, "", "create_edges"], [8, 1, 1, "", "eval_field"], [8, 1, 1, "", "get_coords"], [8, 1, 1, "", "get_field_index"], [8, 1, 1, "", "integrate_function"], [8, 1, 1, "", "integrate_function_on_edge"], [8, 1, 1, "", "integrate_function_on_surface"], [8, 1, 1, "", "integrate_values"]], "pancax.fem.traction_bc": [[8, 1, 1, "", "compute_traction_potential_energy"], [8, 1, 1, "", "compute_traction_potential_energy_on_edge"], [8, 1, 1, "", "interpolate_nodal_field_on_edge"]], "pancax.history_writer": [[2, 2, 1, "", "BaseHistoryWriter"], [2, 2, 1, "", "EnsembleHistoryWriter"], [2, 2, 1, "", "HistoryWriter"]], "pancax.history_writer.BaseHistoryWriter": [[2, 3, 1, "", "__init__"], [2, 4, 1, "", "_abc_impl"], [2, 4, 1, "", "log_every"], [2, 3, 1, "", "to_csv"], [2, 3, 1, "", "write_aux_values"], [2, 3, 1, "", "write_data"], [2, 3, 1, "", "write_epoch"], [2, 4, 1, "", "write_every"], [2, 3, 1, "", "write_history"], [2, 3, 1, "", "write_loss"]], "pancax.history_writer.EnsembleHistoryWriter": [[2, 3, 1, "", "__init__"], [2, 4, 1, "", "_abc_impl"], [2, 4, 1, "", "history_writers"], [2, 4, 1, "", "log_every"], [2, 3, 1, "", "to_csv"], [2, 3, 1, "", "write_aux_values"], [2, 3, 1, "", "write_epoch"], [2, 4, 1, "", "write_every"], [2, 3, 1, "", "write_loss"]], "pancax.history_writer.HistoryWriter": [[2, 3, 1, "", "__init__"], [2, 4, 1, "", "_abc_impl"], [2, 3, 1, "", "_write_loss"], [2, 4, 1, "", "data_dict"], [2, 4, 1, "", "history_file"], [2, 4, 1, "", "log_every"], [2, 3, 1, "", "to_csv"], [2, 3, 1, "", "write_aux_values"], [2, 3, 1, "", "write_epoch"], [2, 4, 1, "", "write_every"], [2, 3, 1, "", "write_loss"]], "pancax.kernels": [[10, 0, 0, "-", "base_kernel"], [10, 0, 0, "-", "laplace_beltrami"], [10, 0, 0, "-", "linear_elasticity"], [10, 0, 0, "-", "poisson"]], "pancax.kernels.base_kernel": [[10, 2, 1, "", "PhysicsKernel"], [10, 2, 1, "", "StrongFormPhysicsKernel"], [10, 2, 1, "", "WeakFormPhysicsKernel"], [10, 1, 1, "", "element_pp"], [10, 1, 1, "", "full_tensor_names"], [10, 1, 1, "", "full_tensor_names_2D"], [10, 1, 1, "", "nodal_pp"], [10, 1, 1, "", "standard_pp"], [10, 1, 1, "", "vector_names"]], "pancax.kernels.base_kernel.PhysicsKernel": [[10, 3, 1, "", "__init__"], [10, 4, 1, "", "_abc_impl"], [10, 4, 1, "", "bc_func"], [10, 4, 1, "", "field_value_names"], [10, 4, 1, "", "n_dofs"], [10, 4, 1, "", "use_delta_pinn"], [10, 4, 1, "", "var_name_to_method"]], "pancax.kernels.base_kernel.StrongFormPhysicsKernel": [[10, 3, 1, "", "__init__"], [10, 4, 1, "", "_abc_impl"], [10, 4, 1, "", "bc_func"], [10, 3, 1, "", "field_gradients"], [10, 3, 1, "", "field_hessians"], [10, 3, 1, "", "field_laplacians"], [10, 3, 1, "", "field_second_time_derivatives"], [10, 3, 1, "", "field_time_derivatives"], [10, 4, 1, "", "field_value_names"], [10, 4, 1, "", "n_dofs"], [10, 3, 1, "", "strong_form_neumann_bc"], [10, 3, 1, "", "strong_form_residual"], [10, 4, 1, "", "use_delta_pinn"]], "pancax.kernels.base_kernel.WeakFormPhysicsKernel": [[10, 3, 1, "", "__init__"], [10, 4, 1, "", "_abc_impl"], [10, 4, 1, "", "bc_func"], [10, 3, 1, "", "element_field_gradient"], [10, 3, 1, "", "element_quantity"], [10, 3, 1, "", "element_quantity_grad"], [10, 3, 1, "", "element_quantity_hessian"], [10, 3, 1, "", "energy"], [10, 4, 1, "", "field_value_names"], [10, 4, 1, "", "n_dofs"], [10, 4, 1, "", "use_delta_pinn"]], "pancax.kernels.laplace_beltrami": [[10, 2, 1, "", "LaplaceBeltrami"]], "pancax.kernels.laplace_beltrami.LaplaceBeltrami": [[10, 3, 1, "", "__init__"], [10, 4, 1, "", "_abc_impl"], [10, 3, 1, "", "energy"], [10, 4, 1, "", "field_names"], [10, 3, 1, "", "kinetic_energy"], [10, 4, 1, "", "n_dofs"], [10, 4, 1, "", "use_delta_pinn"]], "pancax.kernels.linear_elasticity": [[10, 2, 1, "", "LinearElasticity2D"]], "pancax.kernels.linear_elasticity.LinearElasticity2D": [[10, 3, 1, "", "__init__"], [10, 4, 1, "", "_abc_impl"], [10, 3, 1, "", "cauchy_stress"], [10, 3, 1, "", "energy"], [10, 4, 1, "", "field_value_names"], [10, 3, 1, "", "linear_strain"], [10, 4, 1, "", "n_dofs"], [10, 3, 1, "", "strong_form_neumann_bc"], [10, 3, 1, "", "strong_form_residual"], [10, 4, 1, "", "use_delta_pinn"]], "pancax.kernels.poisson": [[10, 2, 1, "", "Poisson"]], "pancax.kernels.poisson.Poisson": [[10, 3, 1, "", "__init__"], [10, 4, 1, "", "_abc_impl"], [10, 3, 1, "", "energy"], [10, 4, 1, "", "field_value_names"], [10, 4, 1, "", "n_dofs"], [10, 3, 1, "", "strong_form_neumann_bc"], [10, 3, 1, "", "strong_form_residual"], [10, 4, 1, "", "use_delta_pinn"]], "pancax.kinematics": [[2, 1, 1, "", "create_field_methods"], [2, 1, 1, "", "deformation_gradients"], [2, 1, 1, "", "incompressible_plane_stress"], [2, 1, 1, "", "invariants"], [2, 1, 1, "", "invariants_old"], [2, 1, 1, "", "plane_strain"]], "pancax.logging": [[2, 2, 1, "", "BaseLogger"], [2, 2, 1, "", "EnsembleLogger"], [2, 2, 1, "", "Logger"], [2, 1, 1, "", "log_loss"]], "pancax.logging.BaseLogger": [[2, 3, 1, "", "__init__"], [2, 4, 1, "", "_abc_impl"], [2, 3, 1, "", "flush"], [2, 4, 1, "", "log_every"], [2, 3, 1, "", "log_loss"], [2, 3, 1, "", "write_aux_values"], [2, 3, 1, "", "write_epoch_value"], [2, 3, 1, "", "write_loss_value"]], "pancax.logging.EnsembleLogger": [[2, 3, 1, "", "__init__"], [2, 4, 1, "", "_abc_impl"], [2, 3, 1, "", "flush"], [2, 4, 1, "", "loggers"], [2, 3, 1, "", "write_aux_values"], [2, 3, 1, "", "write_epoch_value"], [2, 3, 1, "", "write_loss_value"]], "pancax.logging.Logger": [[2, 3, 1, "", "__init__"], [2, 4, 1, "", "_abc_impl"], [2, 3, 1, "", "flush"], [2, 4, 1, "", "log_file"], [2, 3, 1, "", "write_aux_values"], [2, 3, 1, "", "write_epoch_value"], [2, 3, 1, "", "write_loss_value"]], "pancax.loss_functions": [[11, 0, 0, "-", "base_loss_function"], [11, 0, 0, "-", "bc_loss_functions"], [11, 0, 0, "-", "data_loss_functions"], [11, 0, 0, "-", "ic_loss_function"], [11, 0, 0, "-", "physics_loss_functions_strong_form"], [11, 0, 0, "-", "strong_form_loss_functions"], [11, 0, 0, "-", "utils"], [11, 0, 0, "-", "weak_form_loss_functions"]], "pancax.loss_functions.base_loss_function": [[11, 2, 1, "", "BCLossFunction"], [11, 2, 1, "", "BaseLossFunction"], [11, 2, 1, "", "PhysicsLossFunction"]], "pancax.loss_functions.base_loss_function.BCLossFunction": [[11, 3, 1, "", "__init__"], [11, 4, 1, "", "_abc_impl"], [11, 3, 1, "", "load_step"]], "pancax.loss_functions.base_loss_function.BaseLossFunction": [[11, 3, 1, "", "__init__"], [11, 4, 1, "", "_abc_impl"], [11, 3, 1, "", "filtered_loss"]], "pancax.loss_functions.base_loss_function.PhysicsLossFunction": [[11, 3, 1, "", "__init__"], [11, 4, 1, "", "_abc_impl"], [11, 3, 1, "", "load_step"]], "pancax.loss_functions.bc_loss_functions": [[11, 2, 1, "", "DirichletBCLoss"], [11, 2, 1, "", "NeumannBCLoss"]], "pancax.loss_functions.bc_loss_functions.DirichletBCLoss": [[11, 3, 1, "", "__init__"], [11, 4, 1, "", "_abc_impl"], [11, 3, 1, "", "load_step"], [11, 4, 1, "", "weight"]], "pancax.loss_functions.bc_loss_functions.NeumannBCLoss": [[11, 3, 1, "", "__init__"], [11, 4, 1, "", "_abc_impl"], [11, 3, 1, "", "load_step"], [11, 4, 1, "", "weight"]], "pancax.loss_functions.data_loss_functions": [[11, 2, 1, "", "FullFieldDataLoss"]], "pancax.loss_functions.data_loss_functions.FullFieldDataLoss": [[11, 3, 1, "", "__init__"], [11, 4, 1, "", "_abc_impl"], [11, 4, 1, "", "weight"]], "pancax.loss_functions.ic_loss_function": [[11, 2, 1, "", "ICLossFunction"]], "pancax.loss_functions.ic_loss_function.ICLossFunction": [[11, 3, 1, "", "__init__"], [11, 4, 1, "", "_abc_impl"], [11, 4, 1, "", "weight"]], "pancax.loss_functions.physics_loss_functions_strong_form": [[11, 1, 1, "", "StrongFormIncompressibilityConstraint"], [11, 1, 1, "", "StrongFormNeumannBCLoss"], [11, 1, 1, "", "StrongFormResidualLoss"]], "pancax.loss_functions.strong_form_loss_functions": [[11, 2, 1, "", "StrongFormResidualLoss"]], "pancax.loss_functions.strong_form_loss_functions.StrongFormResidualLoss": [[11, 3, 1, "", "__init__"], [11, 4, 1, "", "_abc_impl"], [11, 3, 1, "", "load_step"], [11, 4, 1, "", "weight"]], "pancax.loss_functions.utils": [[11, 2, 1, "", "CombineLossFunctions"]], "pancax.loss_functions.utils.CombineLossFunctions": [[11, 3, 1, "", "__init__"], [11, 4, 1, "", "_abc_impl"], [11, 4, 1, "", "funcs"], [11, 4, 1, "", "with_props"]], "pancax.loss_functions.weak_form_loss_functions": [[11, 2, 1, "", "EnergyAndResidualLoss"], [11, 2, 1, "", "EnergyLoss"], [11, 2, 1, "", "EnergyResidualAndReactionLoss"], [11, 2, 1, "", "IncompressibleEnergyAndResidualLoss"], [11, 2, 1, "", "IncompressibleEnergyLoss"], [11, 2, 1, "", "QuadratureIncompressibilityConstraint"], [11, 2, 1, "", "ResidualMSELoss"]], "pancax.loss_functions.weak_form_loss_functions.EnergyAndResidualLoss": [[11, 3, 1, "", "__init__"], [11, 4, 1, "", "_abc_impl"], [11, 4, 1, "", "energy_weight"], [11, 3, 1, "", "load_step"], [11, 4, 1, "", "residual_weight"]], "pancax.loss_functions.weak_form_loss_functions.EnergyLoss": [[11, 3, 1, "", "__init__"], [11, 4, 1, "", "_abc_impl"], [11, 3, 1, "", "load_step"], [11, 4, 1, "", "weight"]], "pancax.loss_functions.weak_form_loss_functions.EnergyResidualAndReactionLoss": [[11, 3, 1, "", "__init__"], [11, 4, 1, "", "_abc_impl"], [11, 4, 1, "", "energy_weight"], [11, 3, 1, "", "load_step"], [11, 4, 1, "", "reaction_weight"], [11, 4, 1, "", "residual_weight"]], "pancax.loss_functions.weak_form_loss_functions.IncompressibleEnergyAndResidualLoss": [[11, 3, 1, "", "__init__"], [11, 4, 1, "", "_abc_impl"], [11, 4, 1, "", "energy_weight"], [11, 3, 1, "", "load_step"], [11, 4, 1, "", "residual_weight"]], "pancax.loss_functions.weak_form_loss_functions.IncompressibleEnergyLoss": [[11, 3, 1, "", "__init__"], [11, 4, 1, "", "_abc_impl"], [11, 3, 1, "", "load_step"], [11, 4, 1, "", "weight"]], "pancax.loss_functions.weak_form_loss_functions.QuadratureIncompressibilityConstraint": [[11, 3, 1, "", "__init__"], [11, 4, 1, "", "_abc_impl"], [11, 3, 1, "", "load_step"], [11, 4, 1, "", "weight"]], "pancax.loss_functions.weak_form_loss_functions.ResidualMSELoss": [[11, 3, 1, "", "__init__"], [11, 4, 1, "", "_abc_impl"], [11, 3, 1, "", "load_step"], [11, 4, 1, "", "weight"]], "pancax.math": [[12, 0, 0, "-", "math"], [12, 0, 0, "-", "tensor_math"]], "pancax.math.math": [[12, 1, 1, "", "_float_split"], [12, 1, 1, "", "_two_product"], [12, 1, 1, "", "_two_sum"], [12, 1, 1, "", "dot2"], [12, 1, 1, "", "safe_sqrt_jvp"], [12, 1, 1, "", "sum2"]], "pancax.math.tensor_math": [[12, 1, 1, "", "_logm_iss"], [12, 1, 1, "", "compute_deviatoric_tensor"], [12, 1, 1, "", "cos_of_acos_divided_by_3"], [12, 1, 1, "", "dev"], [12, 1, 1, "", "eigen_sym33_non_unit"], [12, 1, 1, "", "eigen_sym33_unit"], [12, 1, 1, "", "if_then_else"], [12, 1, 1, "", "jvp_sqrtm"], [12, 1, 1, "", "log_jvp"], [12, 1, 1, "", "log_pade_pf"], [12, 1, 1, "", "logh"], [12, 1, 1, "", "logh_from_eigen"], [12, 1, 1, "", "logm_jvp"], [12, 1, 1, "", "mises_equivalent_stress"], [12, 1, 1, "", "mtk_log_sqrt_jvp"], [12, 1, 1, "", "mtk_pow_jvp"], [12, 1, 1, "", "norm_of_deviator"], [12, 1, 1, "", "norm_of_deviator_squared"], [12, 1, 1, "", "relative_log_difference"], [12, 1, 1, "", "relative_log_difference_no_tolerance_check"], [12, 1, 1, "", "relative_log_difference_taylor"], [12, 1, 1, "", "sqrtm_dbp"], [12, 1, 1, "", "sym"], [12, 1, 1, "", "tensor_2D_to_3D"], [12, 1, 1, "", "tensor_norm"], [12, 1, 1, "", "triaxiality"]], "pancax.networks": [[13, 1, 1, "", "Network"], [13, 0, 0, "-", "elm"], [13, 0, 0, "-", "field_property_pair"], [13, 0, 0, "-", "initialization"], [13, 0, 0, "-", "mlp"], [13, 0, 0, "-", "properties"], [13, 0, 0, "-", "rbf"]], "pancax.networks.elm": [[13, 2, 1, "", "ELM"], [13, 2, 1, "", "ELM2"], [13, 1, 1, "", "activation"]], "pancax.networks.elm.ELM": [[13, 3, 1, "", "__init__"], [13, 4, 1, "", "_abc_impl"], [13, 4, 1, "", "beta"], [13, 4, 1, "", "layer"], [13, 4, 1, "", "n_outputs"]], "pancax.networks.elm.ELM2": [[13, 3, 1, "", "__init__"], [13, 4, 1, "", "_abc_impl"], [13, 4, 1, "", "beta"], [13, 4, 1, "", "layer"], [13, 4, 1, "", "n_outputs"]], "pancax.networks.field_property_pair": [[13, 2, 1, "", "BasePancaxModel"], [13, 2, 1, "", "FieldPropertyPair"]], "pancax.networks.field_property_pair.BasePancaxModel": [[13, 3, 1, "", "__init__"], [13, 4, 1, "", "_abc_impl"], [13, 3, 1, "", "serialise"]], "pancax.networks.field_property_pair.FieldPropertyPair": [[13, 3, 1, "", "__init__"], [13, 4, 1, "", "_abc_impl"], [13, 4, 1, "", "fields"], [13, 3, 1, "", "freeze_fields_filter"], [13, 3, 1, "", "freeze_props_filter"], [13, 4, 1, "", "properties"]], "pancax.networks.initialization": [[13, 1, 1, "", "box_init"], [13, 1, 1, "", "init_linear"], [13, 1, 1, "", "init_linear_weight"], [13, 1, 1, "", "trunc_init"], [13, 1, 1, "", "zero_init"]], "pancax.networks.mlp": [[13, 1, 1, "", "Linear"], [13, 1, 1, "", "MLP"], [13, 1, 1, "", "MLPBasis"]], "pancax.networks.properties": [[13, 2, 1, "", "FixedProperties"], [13, 2, 1, "", "Properties"]], "pancax.networks.properties.FixedProperties": [[13, 3, 1, "", "__init__"], [13, 4, 1, "", "_abc_impl"]], "pancax.networks.properties.Properties": [[13, 3, 1, "", "__init__"], [13, 4, 1, "", "_abc_impl"], [13, 4, 1, "", "activation_func"], [13, 4, 1, "", "prop_maxs"], [13, 4, 1, "", "prop_mins"], [13, 4, 1, "", "prop_params"]], "pancax.networks.rbf": [[13, 2, 1, "", "RBFBasis"], [13, 1, 1, "", "rbf_normalization"]], "pancax.networks.rbf.RBFBasis": [[13, 3, 1, "", "__init__"], [13, 4, 1, "", "_abc_impl"], [13, 4, 1, "", "center"], [13, 4, 1, "", "sigma"]], "pancax.optimizers": [[14, 0, 0, "-", "adam"], [14, 0, 0, "-", "base"], [14, 0, 0, "-", "lbfgs"], [14, 0, 0, "-", "utils"]], "pancax.optimizers.adam": [[14, 2, 1, "", "Adam"]], "pancax.optimizers.adam.Adam": [[14, 3, 1, "", "__init__"], [14, 4, 1, "", "_abc_impl"], [14, 3, 1, "", "make_step_method"]], "pancax.optimizers.base": [[14, 2, 1, "", "Optimizer"]], "pancax.optimizers.base.Optimizer": [[14, 3, 1, "", "__init__"], [14, 4, 1, "", "_abc_impl"], [14, 3, 1, "", "ensemble_init"], [14, 3, 1, "", "ensemble_step_old"], [14, 3, 1, "", "init"], [14, 3, 1, "", "make_step_method"], [14, 3, 1, "", "train"]], "pancax.optimizers.lbfgs": [[14, 2, 1, "", "LBFGS"], [14, 1, 1, "", "value_and_grad_from_state"]], "pancax.optimizers.lbfgs.LBFGS": [[14, 3, 1, "", "__init__"], [14, 4, 1, "", "_abc_impl"], [14, 3, 1, "", "make_step_method"]], "pancax.optimizers.utils": [[14, 1, 1, "", "trainable_filter"]], "pancax.physics": [[2, 1, 1, "", "element_quantity"], [2, 1, 1, "", "element_quantity_grad"], [2, 1, 1, "", "element_quantity_hessian"], [2, 1, 1, "", "element_quantity_new"], [2, 1, 1, "", "incompressible_energy"], [2, 1, 1, "", "incompressible_energy_and_internal_force"], [2, 1, 1, "", "incompressible_energy_and_residual"], [2, 1, 1, "", "incompressible_internal_force"], [2, 1, 1, "", "internal_force"], [2, 1, 1, "", "mass_matrix"], [2, 1, 1, "", "nodal_incompressibility_constraint"], [2, 1, 1, "", "potential_energy"], [2, 1, 1, "", "potential_energy_and_internal_force"], [2, 1, 1, "", "potential_energy_and_residual"], [2, 1, 1, "", "potential_energy_residual_and_reaction_force"], [2, 1, 1, "", "quadrature_incompressibility_constraint"], [2, 1, 1, "", "residual"], [2, 1, 1, "", "residual_mse"], [2, 1, 1, "", "stiffness_matrix"], [2, 1, 1, "", "strong_form_residual"], [2, 1, 1, "", "traction_energy"]], "pancax.physics_kernels": [[15, 0, 0, "-", "base"], [15, 0, 0, "-", "burgers_equation"], [15, 0, 0, "-", "heat_equation"], [15, 0, 0, "-", "laplace_beltrami"], [15, 0, 0, "-", "poisson"], [15, 0, 0, "-", "solid_mechanics"]], "pancax.physics_kernels.base": [[15, 2, 1, "", "BaseEnergyFormPhysics"], [15, 2, 1, "", "BasePhysics"], [15, 2, 1, "", "BaseStrongFormPhysics"], [15, 2, 1, "", "BaseVariationalFormPhysics"], [15, 1, 1, "", "nodal_pp"], [15, 1, 1, "", "standard_pp"]], "pancax.physics_kernels.base.BaseEnergyFormPhysics": [[15, 3, 1, "", "__init__"], [15, 4, 1, "", "_abc_impl"], [15, 3, 1, "", "element_energy"], [15, 3, 1, "", "element_kinetic_energy"], [15, 3, 1, "", "energy"], [15, 4, 1, "", "field_value_names"], [15, 3, 1, "", "mass_matrix"], [15, 3, 1, "", "potential_energy"], [15, 3, 1, "", "potential_energy_and_internal_force"], [15, 3, 1, "", "potential_energy_and_residual"], [15, 3, 1, "", "potential_energy_on_block"], [15, 3, 1, "", "potential_energy_residual_and_reaction_force"], [15, 3, 1, "", "stiffness_matrix"], [15, 3, 1, "", "vmap_element_energy"]], "pancax.physics_kernels.base.BasePhysics": [[15, 3, 1, "", "__init__"], [15, 4, 1, "", "_abc_impl"], [15, 4, 1, "", "dirichlet_bc_func"], [15, 3, 1, "", "field_gradients"], [15, 3, 1, "", "field_hessians"], [15, 3, 1, "", "field_laplacians"], [15, 3, 1, "", "field_second_time_derivatives"], [15, 3, 1, "", "field_time_derivatives"], [15, 4, 1, "", "field_value_names"], [15, 3, 1, "", "field_values"], [15, 5, 1, "", "n_dofs"], [15, 3, 1, "", "update_dirichlet_bc_func"], [15, 3, 1, "", "update_normalization"], [15, 3, 1, "", "update_var_name_to_method"], [15, 4, 1, "", "var_name_to_method"], [15, 3, 1, "", "vmap_field_gradients"], [15, 3, 1, "", "vmap_field_values"], [15, 4, 1, "", "x_maxs"], [15, 4, 1, "", "x_mins"]], "pancax.physics_kernels.base.BaseStrongFormPhysics": [[15, 3, 1, "", "__init__"], [15, 4, 1, "", "_abc_impl"], [15, 4, 1, "", "field_value_names"], [15, 3, 1, "", "strong_form_neumann_bc"], [15, 3, 1, "", "strong_form_residual"]], "pancax.physics_kernels.base.BaseVariationalFormPhysics": [[15, 3, 1, "", "__init__"], [15, 4, 1, "", "_abc_impl"]], "pancax.physics_kernels.burgers_equation": [[15, 2, 1, "", "BurgersEquation"]], "pancax.physics_kernels.burgers_equation.BurgersEquation": [[15, 3, 1, "", "__init__"], [15, 4, 1, "", "_abc_impl"], [15, 4, 1, "", "field_value_names"], [15, 3, 1, "", "strong_form_residual"]], "pancax.physics_kernels.heat_equation": [[15, 2, 1, "", "HeatEquation"]], "pancax.physics_kernels.heat_equation.HeatEquation": [[15, 3, 1, "", "__init__"], [15, 4, 1, "", "_abc_impl"], [15, 4, 1, "", "field_value_names"], [15, 3, 1, "", "strong_form_neumann_bc"], [15, 3, 1, "", "strong_form_residual"]], "pancax.physics_kernels.laplace_beltrami": [[15, 2, 1, "", "LaplaceBeltrami"]], "pancax.physics_kernels.laplace_beltrami.LaplaceBeltrami": [[15, 3, 1, "", "__init__"], [15, 4, 1, "", "_abc_impl"], [15, 3, 1, "", "energy"], [15, 4, 1, "", "field_value_names"], [15, 3, 1, "", "kinetic_energy"]], "pancax.physics_kernels.poisson": [[15, 2, 1, "", "Poisson"]], "pancax.physics_kernels.poisson.Poisson": [[15, 3, 1, "", "__init__"], [15, 4, 1, "", "_abc_impl"], [15, 3, 1, "", "energy"], [15, 4, 1, "", "f"], [15, 4, 1, "", "field_value_names"], [15, 3, 1, "", "strong_form_neumann_bc"], [15, 3, 1, "", "strong_form_residual"]], "pancax.physics_kernels.solid_mechanics": [[15, 2, 1, "", "BaseMechanicsFormulation"], [15, 2, 1, "", "IncompressiblePlaneStress"], [15, 2, 1, "", "PlaneStrain"], [15, 2, 1, "", "SolidMechanics"], [15, 2, 1, "", "ThreeDimensional"]], "pancax.physics_kernels.solid_mechanics.BaseMechanicsFormulation": [[15, 3, 1, "", "__init__"], [15, 4, 1, "", "_abc_impl"], [15, 3, 1, "", "modify_field_gradient"], [15, 4, 1, "", "n_dimensions"]], "pancax.physics_kernels.solid_mechanics.IncompressiblePlaneStress": [[15, 3, 1, "", "__init__"], [15, 4, 1, "", "_abc_impl"], [15, 3, 1, "", "deformation_gradient"], [15, 3, 1, "", "modify_field_gradient"], [15, 4, 1, "", "n_dimensions"]], "pancax.physics_kernels.solid_mechanics.PlaneStrain": [[15, 3, 1, "", "__init__"], [15, 4, 1, "", "_abc_impl"], [15, 3, 1, "", "extract_stress"], [15, 3, 1, "", "modify_field_gradient"], [15, 4, 1, "", "n_dimensions"]], "pancax.physics_kernels.solid_mechanics.SolidMechanics": [[15, 3, 1, "", "__init__"], [15, 4, 1, "", "_abc_impl"], [15, 4, 1, "", "constitutive_model"], [15, 3, 1, "", "energy"], [15, 4, 1, "", "field_value_names"], [15, 4, 1, "", "formulation"]], "pancax.physics_kernels.solid_mechanics.ThreeDimensional": [[15, 3, 1, "", "__init__"], [15, 4, 1, "", "_abc_impl"], [15, 3, 1, "", "modify_field_gradient"], [15, 4, 1, "", "n_dimensions"]], "pancax.post_processor": [[2, 2, 1, "", "ExodusPostProcessor"], [2, 2, 1, "", "PostProcessor"], [2, 2, 1, "", "VtkPostProcessor"]], "pancax.post_processor.ExodusPostProcessor": [[2, 3, 1, "", "__init__"], [2, 3, 1, "", "check_variable_names"], [2, 3, 1, "", "close"], [2, 3, 1, "", "copy_mesh"], [2, 3, 1, "", "get_element_variable_number"], [2, 3, 1, "", "get_node_variable_number"], [2, 3, 1, "", "index_to_component"], [2, 3, 1, "", "init"], [2, 3, 1, "", "write_outputs"]], "pancax.post_processor.PostProcessor": [[2, 3, 1, "", "__init__"], [2, 3, 1, "", "close"], [2, 3, 1, "", "init"], [2, 3, 1, "", "write_outputs"]], "pancax.post_processor.VtkPostProcessor": [[2, 3, 1, "", "__init__"], [2, 3, 1, "", "cell_type"], [2, 3, 1, "", "close"], [2, 3, 1, "", "convert_exodus_to_xml"], [2, 3, 1, "", "get_vtk_cell_type"], [2, 3, 1, "", "init"], [2, 3, 1, "", "write_outputs"]], "pancax.problems": [[16, 0, 0, "-", "forward_problem"], [16, 0, 0, "-", "inverse_problem"]], "pancax.problems.forward_problem": [[16, 6, 1, "", "DomainPhysicsCompatabilityError"], [16, 2, 1, "", "ForwardProblem"]], "pancax.problems.forward_problem.ForwardProblem": [[16, 3, 1, "", "__init__"], [16, 4, 1, "", "_abc_impl"], [16, 5, 1, "", "conns"], [16, 5, 1, "", "coords"], [16, 5, 1, "", "dof_manager"], [16, 4, 1, "", "domain"], [16, 4, 1, "", "essential_bcs"], [16, 5, 1, "", "fspace"], [16, 4, 1, "", "ics"], [16, 5, 1, "", "mesh"], [16, 5, 1, "", "mesh_file"], [16, 4, 1, "", "natural_bcs"], [16, 4, 1, "", "physics"], [16, 5, 1, "", "times"]], "pancax.problems.inverse_problem": [[16, 2, 1, "", "InverseProblem"]], "pancax.problems.inverse_problem.InverseProblem": [[16, 3, 1, "", "__init__"], [16, 4, 1, "", "_abc_impl"], [16, 4, 1, "", "field_data"], [16, 4, 1, "", "global_data"]], "pancax.timer": [[2, 2, 1, "", "Timer"], [2, 6, 1, "", "TimerError"]], "pancax.timer.Timer": [[2, 3, 1, "", "__init__"], [2, 4, 1, "", "_start_time"], [2, 3, 1, "", "logger"], [2, 4, 1, "", "name"], [2, 3, 1, "", "start"], [2, 3, 1, "", "stop"], [2, 4, 1, "", "text"], [2, 4, 1, "", "timers"]], "pancax.trainer": [[2, 2, 1, "", "Trainer"]], "pancax.trainer.Trainer": [[2, 3, 1, "", "__init__"], [2, 3, 1, "", "init"], [2, 3, 1, "", "serialise"], [2, 3, 1, "", "step"], [2, 3, 1, "", "train"], [2, 3, 1, "", "write_outputs"]], "pancax.utils": [[2, 6, 1, "", "DataFileNotFoundException"], [2, 6, 1, "", "MeshFileNotFoundException"], [2, 1, 1, "", "find_data_file"], [2, 1, 1, "", "find_mesh_file"], [2, 1, 1, "", "set_checkpoint_file"]]}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "class", "Python class"], "3": ["py", "method", "Python method"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "property", "Python property"], "6": ["py", "exception", "Python exception"]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:class", "3": "py:method", "4": "py:attribute", "5": "py:property", "6": "py:exception"}, "terms": {"": [2, 12], "0": [2, 3, 8, 9, 11, 12, 14], "001": 14, "030601818": 12, "0x7f76545a3380": 3, "0x7f76547353a0": [5, 13], "1": [2, 3, 5, 7, 8, 9, 10, 11, 14], "10": 12, "100": 14, "1000": 2, "10000": [2, 14], "1137": 12, "1955": 12, "1988": 12, "1d": 8, "2": [5, 7, 8, 9, 10, 12, 15], "2008": 12, "26": 12, "2d": 8, "3": [2, 5, 8, 9, 15], "4": [5, 8, 9], "46": 12, "5": 9, "500": 14, "6": [9, 12], "7": [9, 12], "8": 9, "898716": 12, "8f": 2, "9": 9, "978": 12, "99": 14, "A": [2, 3, 6, 8, 11, 12, 13], "For": 8, "If": 8, "In": 8, "It": 12, "No": 12, "One": 8, "That": 8, "The": [3, 8, 12], "_": [8, 11], "_1": 5, "__init__": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16], "__main__": 1, "__w": 2, "_abc": [2, 3, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16], "_abc_data": [2, 3, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16], "_abc_impl": [1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16], "_asdict": [8, 9], "_check_other_typ": [2, 5], "_field": [8, 9], "_field_default": [8, 9], "_float_split": [2, 12], "_gauss_quad_1d_1pt": [2, 8], "_gauss_quad_1d_2pt": [2, 8], "_gauss_quad_1d_3pt": [2, 8], "_gauss_quad_1d_4pt": [2, 8], "_gauss_quad_1d_5pt": [2, 8], "_get_vertex_nodes_from_exodus_tri6_mesh": [2, 8], "_logm_iss": [2, 12], "_make": [8, 9], "_make_hessian_bc_mask": [2, 8], "_make_hessian_coordin": [2, 8], "_read_block": [2, 8], "_read_block_conn": [2, 8], "_read_coordin": [2, 8], "_read_element_typ": [2, 8], "_read_names_list": [2, 8], "_read_node_set": [2, 8], "_read_side_set": [2, 8], "_replac": [8, 9], "_src": 13, "_start_tim": [1, 2], "_two_product": [2, 12], "_two_sum": [2, 12], "_write_loss": [1, 2], "a1": [2, 5], "a_1": 5, "abc": [10, 14], "abl": 8, "about": 8, "abstract": [2, 5, 9, 10, 11, 14, 15], "ac": 12, "accumul": 12, "accur": 12, "accuraci": 12, "activ": [2, 8, 13], "activation_func": [2, 13], "actual": 13, "adam": [0, 1, 2], "addit": 8, "addition": 8, "affin": 8, "after": 2, "akin": 11, "al": 11, "algorithm": [5, 12], "alia": 9, "all": 8, "allow": [8, 12, 13], "alwai": 8, "an": [2, 8, 9, 10, 12], "ani": [2, 8, 9, 11, 13, 14, 15], "appar": 12, "append": 2, "appli": [3, 8], "approxim": 12, "ar": [8, 9], "arg": [13, 15], "argument": [2, 8], "arrai": [3, 5, 6, 7, 8, 9, 12, 13, 15], "assemble_sparse_stiffness_matrix": [2, 8], "associ": [9, 12], "assum": 8, "attribut": 8, "averag": 8, "average_quadrature_field_over_el": [2, 8], "avoid": [8, 12], "axi": 12, "axisymetr": 8, "axisymmetr": 8, "b": 12, "b1": [2, 5], "bar": 5, "base": [0, 1, 2, 3, 6, 8, 9, 10, 11, 13, 16], "base_el": [2, 8], "base_kernel": [0, 1, 2], "base_loss_funct": [0, 1, 2], "base_nam": [2, 10, 13], "base_name_xx": 10, "baseconstitutivemodel": [2, 5], "basedomain": [2, 7, 16], "baseel": [8, 9], "baseenergyformphys": [2, 15], "basehistorywrit": [1, 2], "baselogg": [1, 2], "baselossfunct": [2, 11], "basemechanicsformul": [2, 15], "basepancaxmodel": [2, 13], "basephys": [2, 15, 16], "basestrongformphys": [2, 15], "basevariationalformphys": [2, 15], "bc": [0, 1, 2, 8, 16], "bc_func": [2, 10, 15], "bc_loss_funct": [0, 1, 2], "bclossfunct": [2, 11], "beaver": 12, "beta": [2, 13], "better": 8, "between": [2, 8], "bia": 13, "biaxial_tens": [0, 1, 2], "biaxiallinearramp": [2, 4], "blatz_ko": [0, 1, 2], "blatzko": [2, 5], "block": [2, 8], "blocknam": 8, "blockordin": 8, "bodi": 8, "body_forc": 10, "book": 6, "bool": [6, 8, 10, 11, 13, 14], "boolean": [8, 13], "boundari": [8, 11], "boundedproperti": [2, 5], "box_init": [2, 13], "build": 11, "built": [2, 13], "bulk_modulu": [2, 5], "burgers_equ": [1, 2], "burgersequ": [2, 15], "bvp": [0, 1, 2], "c1": [2, 5], "c_1": 5, "calcul": [5, 6, 8, 9, 11], "calculu": 8, "call": 8, "callabl": [2, 3, 10, 13, 14, 15, 16], "caller": 8, "can": [8, 12], "cancel": 12, "care": 8, "cartesian": 8, "case": 8, "cauchy_stress": [2, 5, 10], "cell": 2, "cell_typ": [1, 2], "center": [2, 13], "chang": [8, 12], "check_variable_nam": [1, 2], "checkpoint": 2, "checkpoint_bas": 2, "checkpoint_file_bas": 2, "class": [2, 3, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16], "classmethod": 9, "classvar": 2, "clip_gradi": 14, "clockwis": 8, "close": [1, 2], "code": 2, "collect": 8, "collocation_domain": [0, 1, 2], "collocationdomain": [2, 7], "combin": 8, "combine_block": [2, 8], "combine_mesh": [2, 8], "combine_nodeset": [2, 8], "combine_sideset": [2, 8], "combinelossfunct": [2, 11], "compar": 6, "compil": 8, "compon": [2, 3, 6, 8, 10], "comput": [8, 12], "compute_deviatoric_tensor": [2, 12], "compute_edge_vector": [2, 8], "compute_element_field_gradi": [2, 8], "compute_element_volum": [2, 8], "compute_element_volumes_axisymmetr": [2, 8], "compute_field_gradi": [2, 8], "compute_norm": [2, 8], "compute_quadrature_point_field_gradi": [2, 8], "compute_shap": [8, 9], "compute_traction_potential_energi": [2, 8], "compute_traction_potential_energy_on_edg": [2, 8], "cond": 12, "condit": 11, "configur": 9, "conn": [2, 7, 8, 15, 16], "connect": 8, "consecut": 8, "constant": 8, "constitutive_model": [0, 1, 2, 15], "construct": 8, "construct_function_spac": [2, 8], "construct_function_space_from_parent_el": [2, 8], "construct_mesh_from_basic_data": [2, 8], "construct_structured_mesh": [2, 8], "constructor": 8, "contain": 8, "content": [0, 1], "context": 2, "contextdecor": 2, "convent": 8, "convert": 2, "convert_exodus_to_xml": [1, 2], "coord": [2, 7, 8, 16], "coordfield": 8, "coordin": [2, 3, 8, 9], "copy_mesh": [1, 2], "copynodeset": 8, "correspond": 8, "cos_of_acos_divided_by_3": [2, 12], "counter": 8, "cpack": 12, "cpu": 12, "creat": 8, "create_edg": [2, 8], "create_field": [2, 8], "create_field_method": [1, 2], "create_higher_order_mesh_from_simplex_mesh": [2, 8], "create_nodesets_from_sideset": [2, 8], "create_padded_quadrature_rule_1d": [2, 8], "create_quadrature_rule_1d": [2, 8], "create_quadrature_rule_on_hex": [2, 8], "create_quadrature_rule_on_quad": [2, 8], "create_quadrature_rule_on_tet": [2, 8], "create_quadrature_rule_on_triangl": [2, 8], "create_structured_mesh_data": [2, 8], "createnodesetsfromsideset": 8, "critic": 12, "csv": 2, "current": [2, 6, 8, 11, 13], "curv": 6, "custom": 2, "cutoff_strain": [2, 5], "cyclic": 8, "data": [0, 1, 2, 8, 13, 16], "data_dict": [1, 2], "data_fil": 6, "data_file_in": 2, "data_loss_funct": [0, 1, 2], "datafilenotfoundexcept": [1, 2], "dataset": 2, "decay_r": 14, "decor": 2, "decreas": 12, "deep": 11, "default": [2, 3, 8], "default_modify_element_gradi": [2, 8], "defin": [8, 9], "deform": 5, "deformation_gradi": [1, 2, 15], "degre": [6, 8, 9], "delta": 11, "delta_pinn_domain": [0, 1, 2], "deltapinndomain": [2, 7], "denman": 12, "densiti": [5, 8], "deriv": 8, "describ": 8, "det": 5, "detail": 8, "determin": 8, "dev": [2, 12], "dict": [2, 8, 9, 10, 15], "dictionari": 8, "diff_param": 11, "differ": 9, "differenti": 8, "dim": [8, 10], "dimens": [8, 9], "direct": 4, "dirichlet_bc": 7, "dirichlet_bc_func": [2, 15], "dirichletbcloss": [2, 11], "discret": [8, 9], "disp_kei": 6, "displ_i": 10, "displ_x": 10, "displac": [2, 6], "distanc": [2, 3], "distance_funct": [0, 1, 2], "distort": 5, "do": 8, "doc": 2, "document": 8, "doe": 11, "dof": [3, 8], "dof_manag": [0, 1, 2, 7, 16], "dofindexslic": 8, "dofmanag": [2, 7, 8], "doi": 12, "domain": [0, 1, 2, 3, 6, 8, 10, 11, 14, 15, 16], "domainphysicscompatabilityerror": [2, 16], "dot": 12, "dot2": [2, 12], "dotprod": 12, "dt": 8, "dtype": 9, "dudx": 8, "dure": 5, "e": [10, 13], "each": [8, 9, 13], "edg": 8, "edge_is_potentially_in_contact": 8, "edgeconn": 8, "edgecoord": 8, "effici": 8, "eigen_mod": [2, 7], "eigen_sym33_non_unit": [2, 12], "eigen_sym33_unit": [2, 12], "eigenvector": 10, "elaps": 2, "elemconn": 8, "elemconnect": 8, "element": [2, 8, 10], "element_energi": [2, 15], "element_field_gradi": [2, 10], "element_kinetic_energi": [2, 15], "element_pp": [2, 10], "element_quant": [1, 2, 10], "element_quantity_grad": [1, 2, 10], "element_quantity_hessian": [1, 2, 10], "element_quantity_new": [1, 2], "element_vari": 2, "elementnodalvalu": 8, "elementord": 8, "elementtyp": [8, 9], "elemgrad": 8, "elemnodalcoord": 8, "elemnodaldisp": 8, "elemnodalfield": 8, "elemoffset": 8, "elemqpdata": 8, "elemshap": 8, "elemshapegrad": 8, "elemst": 8, "elemvol": 8, "elm": [0, 1, 2], "elm2": [2, 13], "empti": 9, "encount": 5, "end": 2, "energi": [2, 5, 8, 10, 11, 15], "energy_weight": [2, 11], "energyandresidualloss": [2, 11], "energyloss": [2, 11], "energyresidualandreactionloss": [2, 11], "enforc": [3, 8], "ensemble_init": [2, 14], "ensemble_step_old": [2, 14], "ensemblehistorywrit": [1, 2], "ensemblelogg": [1, 2], "ensur": 8, "entri": 8, "environ": 12, "epoch": [2, 13], "equal": 9, "equinox": 13, "error": [2, 12], "essenti": [3, 6], "essential_bc": [0, 1, 2, 16], "essentialbc": [2, 3, 8, 16], "essentialbcset": [2, 3], "et": 11, "etc": 8, "eval": 12, "eval_at_iso_point": [2, 8], "eval_field": [2, 8], "evalu": [8, 9], "evaluate_on_block": [2, 8], "evaluate_on_el": [2, 8], "evaluationpoint": 9, "evec": 12, "everi": 8, "exactli": 8, "exampl": 8, "except": [2, 9, 16], "exodu": [2, 8], "exodus_element_typ": 2, "exodus_fil": 2, "exodusdataset": 8, "exoduspostprocessor": [1, 2], "expect": 11, "extra": 8, "extract_stress": [2, 15], "f": [2, 3, 5, 10, 11, 15], "face": 9, "facenod": [8, 9], "factor": 8, "factori": 8, "fals": [2, 6, 8, 10, 11, 12, 13, 14, 15], "fem": [0, 1, 2], "few": 13, "field": [2, 3, 6, 8, 9, 13, 15], "field_data": [2, 16], "field_func": 8, "field_gradi": [2, 10, 15], "field_hessian": [2, 10, 15], "field_laplacian": [2, 10, 15], "field_nam": [2, 10], "field_network": 10, "field_property_pair": [0, 1, 2], "field_second_time_deriv": [2, 10, 15], "field_time_deriv": [2, 10, 15], "field_valu": [2, 15], "field_value_nam": [2, 10, 15], "fieldindex": 8, "fieldpropertypair": [2, 13], "file": [2, 8], "filenam": 8, "filter_spec": 14, "filtered_loss": [2, 11], "final": 13, "final_displac": 4, "final_displacement_i": 4, "final_displacement_x": 4, "find_data_fil": [1, 2], "find_mesh_fil": [1, 2], "first": [2, 5, 8], "fix": [8, 13], "fixedproperti": [2, 13], "flag": 12, "float": [2, 3, 4, 5, 7, 8, 9, 11, 12, 13, 14, 15], "float32": 9, "flush": [1, 2], "follow": [5, 11], "follw": 8, "forc": 6, "force_kei": 6, "forcibli": 2, "form": [5, 12], "formul": [2, 15], "forward_problem": [1, 2], "forwardproblem": [2, 16], "frac": 5, "fraction": 12, "free": [8, 11], "freedom": 6, "freeze_basi": 14, "freeze_fields_filt": [2, 13], "freeze_properti": 14, "freeze_props_filt": [2, 13], "from": [6, 8, 9, 12], "fspace": [2, 7, 10, 15, 16], "fspace_centroid": [2, 7], "full": [6, 10], "full_field_data": [0, 1, 2, 16], "full_tensor_nam": [2, 10], "full_tensor_names_2d": [2, 10], "fullfielddata": [2, 6, 16], "fullfielddataloss": [2, 11], "func": [2, 8, 10, 11, 15], "functino": 9, "function": [2, 3, 5, 8, 9, 10, 11, 12, 13, 15], "function_spac": [0, 1, 2], "functionspac": [2, 7, 8], "g": [5, 10, 13], "gauss": 8, "gaussfield": 8, "gener": 8, "gent": [0, 1, 2], "geometr": 8, "get": 8, "get_bc_siz": [2, 8], "get_bc_valu": [2, 8], "get_block": [2, 8], "get_coord": [2, 8], "get_edg": [2, 3], "get_edge_coord": [2, 8], "get_edge_field": [2, 8], "get_edge_node_indic": [2, 8], "get_element_variable_numb": [1, 2], "get_field_index": [2, 8], "get_lobatto_nodes_1d": [8, 9], "get_nodal_values_on_edg": [2, 8], "get_node_variable_numb": [1, 2], "get_unknown_s": [2, 8], "get_unknown_valu": [2, 8], "get_vtk_cell_typ": [1, 2], "give": 3, "given": 9, "gj_m": 5, "global": [6, 8], "global_data": [0, 1, 2, 16], "globaldata": [2, 6, 16], "grad_n": [2, 10], "grad_u": [2, 15], "gradient": [2, 5, 8, 9], "ground": 6, "group": 8, "guarante": 8, "guard": 5, "gui": 8, "h": 12, "ha": [2, 8, 12], "hamel": 11, "hardcod": 6, "has_aux": 14, "has_prop": [10, 15], "have": [8, 9], "heat_equ": [1, 2], "heatequ": [2, 15], "help": 11, "helper": 13, "here": 8, "hex8": 9, "hex8_el": [2, 8], "hex8el": [8, 9], "hidden": 13, "hierarchi": 11, "higham": 12, "higher": 12, "highest": 8, "histori": [2, 14], "history_fil": [1, 2], "history_writ": 1, "historywrit": [1, 2], "hold": 6, "how": 8, "howev": 8, "hpack": 12, "http": 12, "i": [2, 5, 8, 9, 11, 12], "i1": [2, 5], "i1_bar": [2, 5], "i2": [2, 5], "i2_bar": [2, 5], "i_1": 5, "ic": [2, 16], "ic_loss_funct": [0, 1, 2], "iclossfunct": [2, 11], "id": 8, "if_then_els": [2, 12], "ii": 2, "includ": [8, 13], "incompressible_energi": [1, 2], "incompressible_energy_and_internal_forc": [1, 2], "incompressible_energy_and_residu": [1, 2], "incompressible_internal_forc": [1, 2], "incompressible_plane_stress": [1, 2], "incompressibleenergyandresidualloss": [2, 11], "incompressibleenergyloss": [2, 11], "incompressibleplanestress": [2, 15], "increment": 8, "index": [0, 2, 8], "index_to_compon": [1, 2], "indic": 8, "inform": 8, "init": [1, 2, 14], "init_fn": 13, "init_func": 13, "init_linear": [2, 13], "init_linear_weight": [2, 13], "initi": [0, 1, 2], "inner": 12, "input": [2, 6, 8, 12, 13], "input_kei": 6, "insert": 2, "int": [2, 3, 4, 6, 7, 8, 9, 10, 13, 14, 15], "int32": 9, "int_": 11, "inted": 8, "integr": [8, 12], "integrate_el": [2, 8], "integrate_element_from_local_field": [2, 8], "integrate_funct": [2, 8], "integrate_function_on_edg": [2, 8], "integrate_function_on_surfac": [2, 8], "integrate_on_el": [2, 8], "integrate_over_block": [2, 8], "integrate_valu": [2, 8], "interior": [8, 9], "interiornod": [8, 9], "intern": 8, "internal_forc": [1, 2], "interpol": 8, "interpolate_nodal_field_on_edg": [2, 8], "interpolate_to_element_point": [2, 8], "interpolate_to_point": [2, 8], "interpolationpoint": 8, "interpret": 8, "interv": 8, "invari": [1, 2, 5], "invariants_old": [1, 2], "invers": [6, 12], "inverse_problem": [1, 2], "inverseproblem": [2, 16], "isaxisymmetr": [2, 8], "isbn": 12, "iter": [9, 12], "j": [5, 8, 12], "j_m": 5, "jacobian": [2, 5, 8], "jax": [8, 13], "jaxtyp": [3, 7], "jit": [8, 10, 14, 15], "jm_paramet": [2, 5], "jvp_sqrtm": [2, 12], "jxw": [2, 8, 10], "k": 5, "keep": 6, "kei": [2, 5, 13], "kernel": [0, 1, 2], "kernelfunc": 8, "keyword": 8, "kinemat": 1, "kinetic_energi": [2, 10, 15], "kvalu": 8, "kwarg": 13, "kwd": 9, "l": 11, "lagrangian": 8, "lam1": 12, "lam2": 12, "lambda": [3, 10], "laplace_beltrami": [0, 1, 2], "laplacebeltrami": [2, 7, 10, 15], "last": 2, "layer": [2, 13], "lbfg": [0, 1, 2], "learning_r": 14, "left": [5, 8, 11], "leftp": 8, "leftt": 8, "legendr": 8, "length": 4, "length_i": 4, "length_x": 4, "level": 8, "like": [2, 8], "line": 9, "line_el": [2, 8], "line_seg": [2, 3], "linear": [2, 13], "linear_elast": [0, 1, 2], "linear_strain": [2, 10], "linearelasticity2d": [2, 10], "lineel": [8, 9], "list": [2, 3, 6, 8, 9, 10, 16], "llvm": 12, "ln": 5, "load": 8, "load_step": [2, 11], "local": 8, "log": 1, "log_everi": [1, 2, 14], "log_fil": [1, 2], "log_file_in": 2, "log_jvp": [2, 12], "log_loss": [1, 2], "log_pade_pf": [2, 12], "logarithm": 12, "logger": [1, 2, 14], "logh": [2, 12], "logh_from_eigen": [2, 12], "logm_jvp": [2, 12], "loss": [2, 11], "loss_funct": [0, 1, 2, 14], "m": [3, 12], "m1": 8, "m2": 8, "ma": 12, "maintain": 8, "make": [8, 9], "make_step_method": [2, 14], "man": 12, "manag": 2, "map": [2, 8, 9, 12], "map_element_shape_grad": [2, 8], "mass_matrix": [1, 2, 15], "materi": 13, "math": [0, 1, 2], "mathbf": [5, 11], "mathcal": 11, "matric": [8, 12], "matrix": 12, "maximum": 13, "measur": 6, "mesh": [0, 1, 2, 3, 7, 16], "mesh_fil": [2, 6, 7, 10, 16], "mesh_file_in": 2, "mesh_typ": 2, "mesh_with_block": [2, 8], "mesh_with_coord": [2, 8], "mesh_with_nodeset": [2, 8], "meshfilenotfoundexcept": [1, 2], "method": [5, 9, 11, 12, 13], "mftoolbox": 12, "minimum": 13, "mises_equivalent_stress": [2, 12], "mlp": [0, 1, 2], "mlpbasi": [2, 13], "mode": 8, "mode2d": 8, "model": [5, 6, 13], "modifi": 8, "modify_element_gradi": 8, "modify_field_gradi": [2, 15], "modul": [0, 1], "more": 8, "mtk_log_sqrt_jvp": [2, 12], "mtk_pow_jvp": [2, 12], "much": 12, "multiblock": 2, "multipli": 8, "must": 8, "n": [2, 8, 10, 12, 15], "n_dimens": [2, 4, 15], "n_dof": [2, 7, 10, 15], "n_eig": 10, "n_eigen_valu": [2, 7], "n_epoch": [2, 14], "n_input": 13, "n_layer": 13, "n_neuron": 13, "n_node": [2, 6], "n_output": [2, 13], "n_pinn": 2, "n_time_step": [2, 6], "name": [1, 2, 3, 8, 9, 10], "namedtupl": [8, 9], "natural_bc": [0, 1, 2, 16], "naturalbc": [2, 3, 16], "nb": 8, "nd": [3, 7, 8, 9, 15], "ndarrai": 12, "ndim": [8, 9], "ndpe": 8, "ne": [7, 8], "nedg": 8, "need": [8, 10, 15], "neohookean": [0, 1, 2], "network": [0, 1, 2], "network_typ": 13, "neumannbcloss": [2, 11], "neuron": 13, "nev": 7, "new": [2, 9, 13], "newlin": 2, "nf": [3, 9], "ni": 13, "nichola": 12, "nn": [7, 8, 9], "nndode": 9, "nni": 9, "nnode": [8, 9], "nnpe": [7, 8], "nnpf": 9, "nodal": [8, 9, 10, 15], "nodal_incompressibility_constraint": [1, 2], "nodal_pp": [2, 10, 15], "nodalcoord": 8, "nodalfield": 8, "nodalpoint": 9, "node": [6, 8, 9], "node_vari": 2, "nodeoffset": 8, "nodeordin": 8, "nodeset": [2, 3, 6, 8], "non": [5, 8], "nonallocatedfunctionspac": [2, 8], "none": [2, 3, 5, 6, 7, 8, 9, 10, 11, 13, 14, 15, 16], "nonsens": 5, "norm_of_devi": [2, 12], "norm_of_deviator_squar": [2, 12], "normal": [2, 3, 8], "noth": 11, "now": 6, "np": 9, "npe": 8, "npt": 9, "nq": 8, "nqpe": 8, "nset_id": 6, "nt": 7, "ntriangl": 8, "nu": 8, "nu_new": 8, "num_dimens": [2, 8], "num_el": [2, 8], "num_nod": [2, 8], "num_nodes_in_el": 2, "number": [5, 6, 8, 9, 12, 13], "numel": 8, "numer": 12, "numpi": [8, 12], "numquadptsperel": 8, "nx": 8, "ny": 8, "object": [2, 3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "obscur": 12, "occur": 8, "ogita": 12, "oishi": 12, "omega": 11, "onc": 8, "one": 12, "onli": [8, 12], "op_str": 5, "oper": 8, "opt": [2, 14], "opt_st": [2, 14], "optim": [0, 1, 2, 12], "option": [3, 8], "order": 8, "other": 5, "otherwis": [8, 12], "output": [2, 6, 10, 13, 15], "output_element_vari": 2, "output_everi": 2, "output_fil": 2, "output_file_bas": 2, "output_kei": 6, "output_node_vari": 2, "outward": 8, "over": 8, "p": 15, "p1": [2, 5], "p_1": 5, "p_order": 7, "pa": 12, "packag": [0, 1], "pad": 8, "pad\u00e9": 12, "page": 0, "param": [2, 8, 10, 11, 12, 14, 15], "paramet": [3, 5, 6, 8, 9, 10, 11, 12, 13, 15], "parameter": 8, "parametr": [8, 9], "parent": 8, "parentel": [2, 8], "parentelement1d": [2, 8], "part": 8, "partial": 12, "particular": 8, "pascal_triangle_monomi": [8, 9], "path": 2, "per": 8, "perform": 8, "permut": 8, "philadelphia": 12, "physic": [1, 6, 7, 8, 10, 11, 15, 16], "physics_kernel": [1, 2, 16], "physics_loss_functions_strong_form": [0, 1, 2], "physicskernel": [2, 10], "physicslossfunct": [2, 11], "pi": [8, 11], "pick": 8, "pinn": [2, 6], "pjitfunct": 13, "pk1_stress": [2, 5], "plane_strain": [1, 2], "planestrain": [2, 15], "plot": 6, "plot_data": [2, 6], "plot_registr": [2, 6], "point": [8, 9, 12], "poisson": [0, 1, 2], "polynomi": [8, 9], "posit": [2, 5, 8], "post_processor": 1, "postprocess_everi": 14, "postprocessor": [1, 2], "potential_energi": [1, 2, 15], "potential_energy_and_internal_forc": [1, 2, 15], "potential_energy_and_residu": [1, 2, 15], "potential_energy_on_block": [2, 15], "potential_energy_residual_and_reaction_forc": [1, 2, 15], "pp": [12, 14], "precis": 12, "precomput": 8, "prefer": 8, "primal": [8, 12], "primari": 8, "print": 2, "prngkei": [5, 13], "problem": [1, 2, 6], "product": 12, "project_quadrature_field_to_element_field": [2, 8], "prop": [2, 8, 10, 13], "prop_max": [2, 5, 13], "prop_min": [2, 5, 13], "prop_param": [2, 13], "prop_val": [2, 5], "properti": [0, 1, 2, 8, 10, 15, 16], "provid": [8, 10], "psi": [5, 11], "q": 8, "q1": [2, 5], "q_order": 7, "q_rule": 8, "q_rule_1d": 3, "quad4": 9, "quad4_el": [2, 8], "quad4el": [8, 9], "quad9": 9, "quad9_el": [2, 8], "quad9el": [8, 9], "quad_degre": 8, "quadfield": 8, "quadratur": [8, 9], "quadrature_incompressibility_constraint": [1, 2], "quadrature_rul": [0, 1, 2], "quadratureincompressibilityconstraint": [2, 11], "quadraturerul": [2, 8], "quadrul": 8, "quadrupl": 12, "quantiti": 11, "r": 8, "r1": [2, 5], "r_1": 5, "rail": 5, "random": 13, "rbf": [0, 1, 2], "rbf_normal": [2, 13], "rbfbasi": [2, 13], "reaction": 6, "reaction_dof": [2, 6], "reaction_nod": [2, 6], "reaction_weight": [2, 11], "read": 8, "read_exodus_mesh": [0, 1, 2], "real": 12, "realli": 8, "recordnam": 8, "refer": [8, 9, 12], "relative_log_differ": [2, 12], "relative_log_difference_no_tolerance_check": [2, 12], "relative_log_difference_taylor": [2, 12], "relu": 13, "repeatedli": 8, "replac": 9, "report": 2, "repres": 8, "residu": [1, 2, 8, 11], "residual_ms": [1, 2], "residual_weight": [2, 11], "residualmseloss": [2, 11], "respect": [2, 8], "respons": 6, "result": 12, "return": [2, 5, 8, 9, 12, 13], "right": [5, 8, 11], "rightp": 8, "rightt": 8, "rng": 13, "root": 12, "row": 8, "rule": 8, "rump": 12, "safe_sqrt_jvp": [2, 12], "same": [2, 8], "sampl": 8, "save_everi": 2, "scalar": 8, "scale": 12, "sci": 12, "search": 0, "second": [2, 8], "see": 8, "segment": 3, "self": 11, "sens": 8, "sensit": 8, "sep": 2, "sequenc": 9, "serialis": [1, 2, 13], "serialise_everi": [2, 14], "serv": 6, "set": [6, 8, 9, 12, 13], "set1": 8, "set2": 8, "set_checkpoint_fil": [1, 2], "set_input_component_valu": [2, 6], "shame": 9, "shape": [2, 8, 9, 12, 13], "shape_funct": [2, 8], "shape_function_gradi": [2, 8], "shape_function_valu": [2, 8], "shapefunct": [8, 9], "shapegrad": [2, 8], "shapegradi": 8, "shapeonref": 8, "shear_modulu": [2, 5], "shift_input": [2, 6], "should": 8, "siam": 12, "side": 8, "sideset": [2, 3, 8], "sigma": [2, 13], "sigmoid": 13, "signatur": [8, 11], "simple_shear": [0, 1, 2], "simpleshearlinearramp": [2, 4], "simplex": 9, "simplex_tri_el": [2, 8], "simplexnodesordin": [2, 8], "simplextriel": [8, 9], "simpli": 5, "size": [8, 13], "slice_unknowns_with_dof_indic": [2, 8], "so": 8, "solid_mechan": [0, 1, 2], "solidmechan": [2, 15], "solv": 6, "solve_eigen_problem": [2, 7], "some": 6, "sourc": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "space": [2, 8, 9], "sparse_matrix_assembl": [0, 1, 2], "spatial": [8, 9], "special": [8, 12], "specifi": [8, 9], "sqrtm_dbp": [2, 12], "squar": 12, "sset": 3, "sset_nam": 3, "standard": 8, "standard_pp": [2, 10, 15], "start": [1, 2], "state": 8, "statevar": 8, "static_param": 11, "stdout": 2, "step": [1, 2], "stiff": 8, "stiffness_matrix": [1, 2, 15], "stop": [1, 2], "store": [6, 13], "str": [2, 3, 4, 6, 7, 8, 9, 10, 15], "strain": [5, 12], "stream": 2, "stress": 12, "strictli": 8, "string": [2, 8], "strong_form_loss_funct": [0, 1, 2], "strong_form_neumann_bc": [2, 10, 15], "strong_form_residu": [1, 2, 10, 15], "strongformincompressibilityconstraint": [2, 11], "strongformneumannbcloss": [2, 11], "strongformphysicskernel": [2, 10], "strongformresidualloss": [2, 11], "structur": [6, 8, 13], "submodul": [0, 1], "subpackag": [0, 1], "sum": 12, "sum2": [2, 12], "surfac": [0, 1, 2], "swanson": [0, 1, 2], "sy": 2, "sym": [2, 12], "symmetr": 8, "t": [2, 3, 5, 8, 10, 11, 12, 15], "tabl": 8, "take": [2, 8], "tangent": [8, 12], "tanh": 13, "technologi": 9, "tensor": [10, 12], "tensor_2d_to_3d": [2, 12], "tensor_math": [0, 1, 2], "tensor_norm": [2, 12], "tensori": 10, "tet10": 9, "tet10_el": [2, 8], "tet10el": [8, 9], "tet4": 9, "tet4_el": [2, 8], "tet4el": [8, 9], "text": [1, 2], "than": 12, "them": 8, "theori": 12, "thi": [3, 5, 8, 10, 11, 12, 13, 15], "threedimension": [2, 15], "through": 8, "time": [2, 6, 7, 8, 14, 16], "time_step": 6, "timer": 1, "timererror": [1, 2], "times_kei": 6, "to_csv": [1, 2], "todo": [6, 8], "toolbox": 12, "topolog": 8, "tr": 5, "traction_bc": [0, 1, 2], "traction_energi": [1, 2], "train": [1, 2, 5, 6, 14], "trainable_filt": [2, 14], "trainer": 1, "transform": 8, "transition_step": 14, "translat": 12, "tri": 9, "triangl": 8, "triangul": 8, "triangular": 8, "triaxial": [2, 12], "true": [10, 14, 15], "truli": 12, "trunc_init": [2, 13], "truncat": 5, "truth": 6, "tunabl": 13, "tupl": [2, 5, 8, 15], "two": 2, "type": [2, 3, 8, 9, 10, 11, 12, 13], "u": [2, 3, 8, 10, 11, 15], "u_el": [2, 10], "ubc": 8, "uk": 12, "uniaxial_tens": [0, 1, 2], "uniaxialtensionlinearramp": [2, 4], "uniform": 8, "unit": 8, "unknown": 8, "unkown": 8, "unsaf": 12, "up": 8, "update_dirichlet_bc_func": [2, 15], "update_dof_manag": [2, 7], "update_norm": [2, 15], "update_var_name_to_method": [2, 15], "us": [2, 6, 8, 10, 11, 12, 13, 15], "usa": 12, "use_delta_pinn": [2, 10], "use_final_bia": 13, "usebubbleel": 8, "usual": 9, "util": [0, 1], "uu": 8, "val": [2, 6], "val1": 12, "val2": 12, "valid": 8, "valu": [2, 3, 8, 9, 13], "value_and_grad_from_st": [2, 14], "value_fn": 14, "vander1d": [8, 9], "vander2d": [8, 9], "var_name_to_method": [2, 10, 15], "variabl": [2, 6, 8, 10, 12, 15], "variad": 8, "variational_domain": [0, 1, 2], "variationaldomain": [2, 7], "vector": [8, 12, 13], "vector_nam": [2, 10], "version": 8, "vertex": [8, 9], "vertexnod": [8, 9], "vertic": 8, "vmap_element_energi": [2, 15], "vmap_field_gradi": [2, 15], "vmap_field_valu": [2, 15], "vol": [2, 8, 12], "volum": 8, "vt": 12, "vtk": 2, "vtk_cell_typ": 2, "vtkpostprocessor": [1, 2], "w": 11, "w_1": 11, "w_2": 11, "walk": 8, "want": 8, "we": 8, "weak_form_loss_funct": [0, 1, 2], "weakformphysicskernel": [2, 10], "weight": [2, 8, 11, 13], "weigth": 13, "wgauss": [2, 8], "when": [6, 8], "where": [2, 6, 8, 9], "whether": [2, 10, 12, 13, 15], "which": [2, 8, 9], "with_prop": [2, 11], "within": 8, "work": 12, "workdir": 2, "write_aux_valu": [1, 2], "write_data": [1, 2], "write_epoch": [1, 2], "write_epoch_valu": [1, 2], "write_everi": [1, 2], "write_histori": [1, 2], "write_loss": [1, 2], "write_loss_valu": [1, 2], "write_output": [1, 2], "www": 12, "x": [2, 3, 6, 8, 9, 10, 12, 13, 15], "x1": 3, "x2": 3, "x_el": [2, 10], "x_max": [2, 15], "x_min": [2, 15], "xextent": 8, "xigauss": [2, 8], "xla": 12, "xla_cpu_enable_fast_math": 12, "xla_flag": 12, "xml": 2, "xml_file": 2, "xt": 12, "y": [2, 6, 12], "yextent": 8, "your": 2, "z": [2, 6], "zero": 3, "zero_init": [2, 13]}, "titles": ["Pancax", "pancax", "pancax package", "pancax.bcs package", "pancax.bvps package", "pancax.constitutive_models package", "pancax.data package", "pancax.domains package", "pancax.fem package", "pancax.fem.elements package", "pancax.kernels package", "pancax.loss_functions package", "pancax.math package", "pancax.networks package", "pancax.optimizers package", "pancax.physics_kernels package", "pancax.problems package"], "titleterms": {"__main__": 2, "adam": 14, "base": [5, 7, 14, 15], "base_el": 9, "base_kernel": 10, "base_loss_funct": 11, "bc": 3, "bc_loss_funct": 11, "biaxial_tens": 4, "blatz_ko": 5, "burgers_equ": 15, "bvp": 4, "collocation_domain": 7, "constitutive_model": 5, "content": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "data": 6, "data_loss_funct": 11, "delta_pinn_domain": 7, "distance_funct": 3, "dof_manag": 8, "domain": 7, "element": 9, "elm": 13, "essential_bc": 3, "fem": [8, 9], "field_property_pair": 13, "forward_problem": 16, "full_field_data": 6, "function_spac": 8, "gent": 5, "global_data": 6, "heat_equ": 15, "hex8_el": 9, "history_writ": 2, "ic_loss_funct": 11, "indic": 0, "initi": 13, "inverse_problem": 16, "kernel": 10, "kinemat": 2, "laplace_beltrami": [10, 15], "lbfg": 14, "line_el": 9, "linear_elast": 10, "log": 2, "loss_funct": 11, "math": 12, "mesh": 8, "mlp": 13, "modul": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "natural_bc": 3, "neohookean": 5, "network": 13, "optim": 14, "packag": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "pancax": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "physic": 2, "physics_kernel": 15, "physics_loss_functions_strong_form": 11, "poisson": [10, 15], "post_processor": 2, "problem": 16, "properti": [5, 13], "quad4_el": 9, "quad9_el": 9, "quadrature_rul": 8, "rbf": 13, "read_exodus_mesh": 8, "simple_shear": 4, "simplex_tri_el": 9, "solid_mechan": [10, 15], "sparse_matrix_assembl": 8, "strong_form_loss_funct": 11, "submodul": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "subpackag": [2, 8], "surfac": 8, "swanson": 5, "tabl": 0, "tensor_math": 12, "tet10_el": 9, "tet4_el": 9, "timer": 2, "traction_bc": 8, "trainer": 2, "uniaxial_tens": 4, "util": [2, 11, 14], "variational_domain": 7, "weak_form_loss_funct": 11}})
\ No newline at end of file