diff --git a/.gitignore b/.gitignore index 5985772b..ba740af5 100644 --- a/.gitignore +++ b/.gitignore @@ -139,9 +139,9 @@ build/* **/build *.mtx -*.eps -*.pdf -*.msh +*.eps +*.pdf +*.msh *.geo *.txt *.gp @@ -156,5 +156,4 @@ tanmat.svg *.plt *.csv - docs/docs-api/.obsidian diff --git a/CHANGELOG.md b/CHANGELOG.md index 63adbafa..825c32f0 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,847 +1 @@ -# [1.20.0](https://github.com/dyte-in/docs/compare/v1.19.1...v1.20.0) (2022-07-26) - - -### Bug Fixes - -* typo for react-sdk name ([a19881c](https://github.com/dyte-in/docs/commit/a19881c9140a8bb2353acf86373a739845144628)) -* **ui:** sections-menu design fixed for version dropdown ([e90f738](https://github.com/dyte-in/docs/commit/e90f73876303a8971f1371899915f96b1c57a36d)) - - -### Features - -* re-added posthog analytics ([e906aa1](https://github.com/dyte-in/docs/commit/e906aa11e27817ba2000f09088f769c68d7973aa)) - -## [1.19.1](https://github.com/dyte-in/docs/compare/v1.19.0...v1.19.1) (2022-07-21) - - -### Bug Fixes - -* broken links and link color in api ref ([adf4de7](https://github.com/dyte-in/docs/commit/adf4de718400cf114bdf7fce4269253b176feb5e)) - -# [1.19.0](https://github.com/dyte-in/docs/compare/v1.18.0...v1.19.0) (2022-07-20) - - -### Bug Fixes - -* added media permission error file ([c6cbf96](https://github.com/dyte-in/docs/commit/c6cbf961422e0dc6e61a8f17bfe817875aaed2b6)) -* added spacing ([6b91a70](https://github.com/dyte-in/docs/commit/6b91a70a02cb32443954b3bf4c95151ce6b5dd39)) -* cz-cli and commitizen ([1b35e51](https://github.com/dyte-in/docs/commit/1b35e512f84f58c605ebf614e224db9f262dcb57)) -* quote the branch name ([058cca6](https://github.com/dyte-in/docs/commit/058cca6b285f71e75ca8e56fef273dd9dda39e09)) -* remove web-core v0.2 ([#38](https://github.com/dyte-in/docs/issues/38)) ([55bb8c7](https://github.com/dyte-in/docs/commit/55bb8c77c387a8b6fa9dc40deb34faf23ad24fec)) -* removed `joined` from meta ([10d4b6f](https://github.com/dyte-in/docs/commit/10d4b6fe67b1f10e3e574df120fb34a5c22cf28f)) -* run action also on push ([ac5b3b4](https://github.com/dyte-in/docs/commit/ac5b3b448d9fcbbb4ebc4426e231d59cced7fdbc)) -* run cron ([a5d508d](https://github.com/dyte-in/docs/commit/a5d508dce4dc6e74b8f6d0dd48874a03f1ee5dc7)) -* sidebars updated, removed warnings ([#41](https://github.com/dyte-in/docs/issues/41)) ([951f1ab](https://github.com/dyte-in/docs/commit/951f1ab2484143536f0e41d6152cbefd0e10895b)) - - -### Features - -* **recording:** changed recording timeout value ([#43](https://github.com/dyte-in/docs/issues/43)) ([978b0b3](https://github.com/dyte-in/docs/commit/978b0b3962ab35159c2a08597207b8f4f456a030)) -* **webhooks:** Include outputFileName in UPLOADED recording status update webhook ([bf9d60d](https://github.com/dyte-in/docs/commit/bf9d60dc6b5f5e1fbd9bd192fae94ae19a0d39dd)) - -# [1.18.0](https://github.com/dyte-in/docs/compare/v1.17.0...v1.18.0) (2022-07-20) - - -### Features - -* add react, javascript sections to docsearch to crawl ([7ee93a6](https://github.com/dyte-in/docs/commit/7ee93a62b94f082c68af39bc023f8e83a0a53a8a)) - -# [1.17.0](https://github.com/dyte-in/docs/compare/v1.16.0...v1.17.0) (2022-07-18) - - -### Bug Fixes - -* remove redundant title in homepage ([80b827c](https://github.com/dyte-in/docs/commit/80b827c4bdfaeb1968fc4c703d4f0fcef8d931b7)) - - -### Features - -* search ([17424d5](https://github.com/dyte-in/docs/commit/17424d5a93196cbc1f4832b331bda3b36146ed80)) -* search crawl action ([00bc234](https://github.com/dyte-in/docs/commit/00bc2341afa6bca0a9532e6d784df761b494ae3a)) - -# [1.16.0](https://github.com/dyte-in/docs/compare/v1.15.3...v1.16.0) (2022-07-18) - - -### Bug Fixes - -* revert needed github workflows ([b6af542](https://github.com/dyte-in/docs/commit/b6af5422bf22244fd9f48314296e51e68079296c)) - - -### Features - -* new docs update ([f0499d1](https://github.com/dyte-in/docs/commit/f0499d116158d9d4fdac365c17f12abc59c67aa5)) - -## [1.15.3](https://github.com/dyte-in/docs/compare/v1.15.2...v1.15.3) (2022-07-05) - - -### Bug Fixes - -* trailing slash config and paths changed ([edc7915](https://github.com/dyte-in/docs/commit/edc79151f0450fdac63e372d11e2d25cef75dc00)) - -## [1.15.2](https://github.com/dyte-in/docs/compare/v1.15.1...v1.15.2) (2022-07-04) - - -### Bug Fixes - -* disable `trailingSlash` ([164825c](https://github.com/dyte-in/docs/commit/164825c65b01d99edc40be3f045c729de3aa21a8)) - -## [1.15.1](https://github.com/dyte-in/docs/compare/v1.15.0...v1.15.1) (2022-06-27) - - -### Bug Fixes - -* **content:** fix docs content ([22d2b18](https://github.com/dyte-in/docs/commit/22d2b188e58e1779e52d3f7ad59faaaef647a631)) - -# [1.15.0](https://github.com/dyte-in/docs/compare/v1.14.3...v1.15.0) (2022-06-25) - - -### Bug Fixes - -* all -> the ([ac7cffa](https://github.com/dyte-in/docs/commit/ac7cffadb3428399964038024a46e5035b5b7ca4)) -* participant docs ([f1a7344](https://github.com/dyte-in/docs/commit/f1a7344eed4645ff552065da1086538a63fedffc)) -* participants documentation ([715af4e](https://github.com/dyte-in/docs/commit/715af4e8b590f0a5f13e4ae9be60337766bde809)) -* recording properties ([99a9d21](https://github.com/dyte-in/docs/commit/99a9d21592e044e2ce4056ad2e435be1206e6bd8)) -* update participant docs ([30249d6](https://github.com/dyte-in/docs/commit/30249d606e65ddb6616b3ce542a299ca3145fed6)) -* update reference for react-native-core and react-web-core ([#31](https://github.com/dyte-in/docs/issues/31)) ([a651305](https://github.com/dyte-in/docs/commit/a651305636557e268c3af068ad948aa27107779f)) -* web-core docs ([#35](https://github.com/dyte-in/docs/issues/35)) ([28ca549](https://github.com/dyte-in/docs/commit/28ca5499e0e1f6aee7ba197afe5a6139a61d1646)), closes [#58](https://github.com/dyte-in/docs/issues/58) [#58](https://github.com/dyte-in/docs/issues/58) - - -### Features - -* add workflow to reject pr if api-specs is updated ([39ba452](https://github.com/dyte-in/docs/commit/39ba4529d0ca3a3e28b934f48f706a9f72cb91a7)) -* release web-core 0.27.x ([4a4dcc3](https://github.com/dyte-in/docs/commit/4a4dcc36dabc9206a7231a5f64907bd177082a22)) - -## [1.14.3](https://github.com/dyte-in/docs/compare/v1.14.2...v1.14.3) (2022-06-24) - - -### Bug Fixes - -* replace Old SDKs from sidebar ([0d2bff0](https://github.com/dyte-in/docs/commit/0d2bff015eaf3fe172ce833e657f0283c1140368)) - -## [1.14.2](https://github.com/dyte-in/docs/compare/v1.14.1...v1.14.2) (2022-06-24) - - -### Bug Fixes - -* hide old SDKs from the navigation ([2633a15](https://github.com/dyte-in/docs/commit/2633a15a75bca2b3af22e375d3b8f291a78898c9)) -* linting ([bc372a8](https://github.com/dyte-in/docs/commit/bc372a86ada5fc95b290a74b2510bd79281cc287)) -* navbar icon links placement in mobile ([a3b25e9](https://github.com/dyte-in/docs/commit/a3b25e9f9a39ff9c33a1171717eb8fda92346047)) - -## [1.14.1](https://github.com/dyte-in/docs/compare/v1.14.0...v1.14.1) (2022-06-23) - - -### Bug Fixes - -* **src/theme/navbar/index.js:** fix the wrong validation for mobile sdks in navbar ([f0a98d6](https://github.com/dyte-in/docs/commit/f0a98d614b64632f3a1144af580159246c31dc42)), closes [#58](https://github.com/dyte-in/docs/issues/58) - -# [1.14.0](https://github.com/dyte-in/docs/compare/v1.13.1...v1.14.0) (2022-06-16) - - -### Bug Fixes - -* patch-package for basic auth fields ([6f25082](https://github.com/dyte-in/docs/commit/6f2508283684b2141fdd52223dbf9c3539771199)) - - -### Features - -* update v2 api spec ([df6dd56](https://github.com/dyte-in/docs/commit/df6dd56832adf6f91f2b1e0001ce2c090a262f8c)) - -## [1.13.1](https://github.com/dyte-in/docs/compare/v1.13.0...v1.13.1) (2022-06-15) - - -### Bug Fixes - -* patch-package for Basic Auth Description ([a525172](https://github.com/dyte-in/docs/commit/a5251722ccdc6d543dadac72e56f8b4e49f452fa)) - -# [1.13.0](https://github.com/dyte-in/docs/compare/v1.12.2...v1.13.0) (2022-06-13) - - -### Bug Fixes - -* remove unused function ([b14a696](https://github.com/dyte-in/docs/commit/b14a6960c8d1acb63d4cdfe18420a554b75c1ae3)) -* update web-core docs to v0.26.0 ([6cb5952](https://github.com/dyte-in/docs/commit/6cb59528267358af8281bc3c43bcec75cb31643e)) -* update web-core docs to v0.26.0 ([bf924a4](https://github.com/dyte-in/docs/commit/bf924a47141fe58ab3cc1389054fc3a1f5353349)) - - -### Features - -* added docs for version 0.25.x of web-core ([b2479f3](https://github.com/dyte-in/docs/commit/b2479f388499bd898ba63d5f71c74fa870419b80)) - -## [1.12.2](https://github.com/dyte-in/docs/compare/v1.12.1...v1.12.2) (2022-06-09) - - -### Bug Fixes - -* update reference for react-native-core and react-web-core ([3316430](https://github.com/dyte-in/docs/commit/331643034d7935c838f66ca062e82bcd1e701ce5)) - -## [1.12.1](https://github.com/dyte-in/docs/compare/v1.12.0...v1.12.1) (2022-06-09) - - -### Bug Fixes - -* created versioned docs for 0.24.x ([f39e447](https://github.com/dyte-in/docs/commit/f39e4474ff76e5086bca2f422f18e51497317ab1)) -* **web-core:** update web-core api reference ([5766ac5](https://github.com/dyte-in/docs/commit/5766ac5413e845c14b8bd0bc0e1c4019ebddc157)) - -# [1.12.0](https://github.com/dyte-in/docs/compare/v1.11.0...v1.12.0) (2022-06-09) - - -### Bug Fixes - -* add button and small fixes ([69a81c2](https://github.com/dyte-in/docs/commit/69a81c20fd01fb54c9c26d8ec51dc6dec0a4d561)) -* added chat functions ([36961ee](https://github.com/dyte-in/docs/commit/36961eef83076d94ef48cf5534473a1ccfe00857)) -* **build:** add dummy versions to fix build ([286e19f](https://github.com/dyte-in/docs/commit/286e19f15c90b9e5c2163fe0a22a44912b788849)) -* cdn links ([87f2e10](https://github.com/dyte-in/docs/commit/87f2e1068404eefb2b4b8e57dba275cd4181ff52)) -* colors in new web-sdk docs ([ee7bad2](https://github.com/dyte-in/docs/commit/ee7bad246fbb9b18ed0b2ccd339e53a5e5acba01)) -* **constants:** added `,` to remove lint errors ([16d8d70](https://github.com/dyte-in/docs/commit/16d8d70cfac699cf4609dacd76691a691513a67b)) -* docs for local user and participants ([#21](https://github.com/dyte-in/docs/issues/21)) ([1a3c951](https://github.com/dyte-in/docs/commit/1a3c951a5eadbb3170d983e02d75c24c7250ce2c)) -* fetch latest version by default ([d06e09e](https://github.com/dyte-in/docs/commit/d06e09e9d44faa4cfe7bb9f8b954c3da1f97d252)) -* image ([91eaff1](https://github.com/dyte-in/docs/commit/91eaff19a34ca7cbf6965b6098c06eb76eb91fd4)) -* installation ([8ef781f](https://github.com/dyte-in/docs/commit/8ef781fdc729fa0021be9cfb6fbdbca1a5b61529)) -* installation ([d26c59a](https://github.com/dyte-in/docs/commit/d26c59af9b61df13a07314f864f0f951c31caa3a)) -* **installation:** added installation doc ([0dfde20](https://github.com/dyte-in/docs/commit/0dfde207fbf73d67c00d482f495a55d5d71303e7)) -* **localUser:** add documentation for local user ([01684d9](https://github.com/dyte-in/docs/commit/01684d952a4dc9c84834cc7d76213625ec12f518)) -* **localUserDoc:** add documentation for local user ([763b0dd](https://github.com/dyte-in/docs/commit/763b0ddfbf062b05e8952bba67fffcfb2bc98b15)) -* merge upstream ([#30](https://github.com/dyte-in/docs/issues/30)) ([886e36c](https://github.com/dyte-in/docs/commit/886e36c37976fc6ba855e231aa9fdb4afb770098)) -* **newweb:** dual switcher and styling ([de7970a](https://github.com/dyte-in/docs/commit/de7970a2e2161390991b62f34be358da06e75300)) -* quickstart before installation ([7563ddc](https://github.com/dyte-in/docs/commit/7563ddc2129ba821cd7fbfde20817123b5f4601e)) -* redirection ([1e1007a](https://github.com/dyte-in/docs/commit/1e1007a8f6bce4c65a7cc9cccaebefbe82ef5202)) -* remove extra blank line from polls introduction ([1b52f8e](https://github.com/dyte-in/docs/commit/1b52f8e2ad7cd62ae8cef6800ba16ff63454a120)) -* remove random author ([5149bef](https://github.com/dyte-in/docs/commit/5149befeee10ac6b4ea44e3ed6fb0d8d1bc8888b)) -* rename react packages ([f3ec2d1](https://github.com/dyte-in/docs/commit/f3ec2d1795f13b742ba97e6b7245aa09d588f2af)) -* replace atomic design illustration ([3c8f595](https://github.com/dyte-in/docs/commit/3c8f595147417825da7db6aefd54d95d5c06373b)) -* **section-switcher:** update UI and added new pages ([6c08f44](https://github.com/dyte-in/docs/commit/6c08f4411479cc6978ee62ed4881eb8d7e40d7fc)) -* **selector:** removed react-web-core from selector ([b979376](https://github.com/dyte-in/docs/commit/b97937651079af1bc622304977222c3440b0c7b5)) -* **selector:** removed react-web-core from selector ([fe56a96](https://github.com/dyte-in/docs/commit/fe56a9628f00933768b1d00fe639d9844c048bc2)) -* setup sidebar ordering ([0d10fd1](https://github.com/dyte-in/docs/commit/0d10fd15814477e8e377f784d6bad53bb531d4cd)) -* ui-kit installation ([e522e34](https://github.com/dyte-in/docs/commit/e522e34c7dca0430753feee69e8eaa472b937c21)) -* ui-kit quickstart ([b3e5089](https://github.com/dyte-in/docs/commit/b3e5089014495a00535149f52dd686e5bed07aba)) -* ui-kit show usage examples passing peer or meeting objects ([34ec4d0](https://github.com/dyte-in/docs/commit/34ec4d08d356849902068c89b3b97e3ffe3f24e4)) -* update content for poll functions and fix typos ([473b11f](https://github.com/dyte-in/docs/commit/473b11fd1675e25bd12f8103b54368d11515efcb)) -* update docs from web-core ([281609b](https://github.com/dyte-in/docs/commit/281609b6f867b92f81296a6b2a3aa94a45726ad3)) -* update docs to latest release ([327029d](https://github.com/dyte-in/docs/commit/327029db7bee9c78cbbdd84a0ad690db181e2311)) -* update reference in react-web-core ([be83745](https://github.com/dyte-in/docs/commit/be837458ab590d20c2ac629671bae31f842676ee)) -* update ui-kit-react and ui-kit-angular names ([1c6ecfe](https://github.com/dyte-in/docs/commit/1c6ecfefbacd055767eb5167f2782eada72c770a)) -* update web-core reference ([57a2ffd](https://github.com/dyte-in/docs/commit/57a2ffd30991127d55e838094170c4f20ce19b8c)) -* updated web-core reference ([27313ce](https://github.com/dyte-in/docs/commit/27313ce29cebd86f8f4de430ebcf3cab2ddb968b)) -* updated web-core reference ([#13](https://github.com/dyte-in/docs/issues/13)) ([666f4a7](https://github.com/dyte-in/docs/commit/666f4a7dce5297e01b082fb8c49196942e7b334c)) -* use BrowserOnly in Quickstart component ([204811b](https://github.com/dyte-in/docs/commit/204811bbd98b76a176828709a033faf4f7054e01)) -* use local packages for ui-kit and web-core ([5969e5f](https://github.com/dyte-in/docs/commit/5969e5f57885b09283493e1cb28f4eeba8de5af2)) -* warning in SectionSwitchHandler ([4c6770a](https://github.com/dyte-in/docs/commit/4c6770ac1c6ae0ffda9a65b0686e2f273e936ef1)) -* **web-core:** participants ([a8e5142](https://github.com/dyte-in/docs/commit/a8e5142f726daccf1b356ed0a93d4b7326e0c06e)) -* **web-core:** update content for polls ([1b3ade1](https://github.com/dyte-in/docs/commit/1b3ade1132668345e484d2c41a7dfa3a130f282e)) - - -### Features - -* [WIP] add web-core docs ([872e0b7](https://github.com/dyte-in/docs/commit/872e0b70aa745892970070a2b159bf0920169794)) -* add about page ([d491f84](https://github.com/dyte-in/docs/commit/d491f84b3e4caacc6cd61d1a4d4090243a08145d)) -* add angular quickstart ([a529453](https://github.com/dyte-in/docs/commit/a52945342660e69342843202e26321a2c916cd52)) -* add react native docs ([9a21e8b](https://github.com/dyte-in/docs/commit/9a21e8b23e405b04417172067c9046106193f3a0)) -* autogenerate api docs for web-core ([83a7697](https://github.com/dyte-in/docs/commit/83a76972b6db76bcef1105988000eaadada572c4)) -* copied reference to react-web-core ([7522200](https://github.com/dyte-in/docs/commit/75222002aae08c5aa677647c6060ef456c9ce850)) -* disable angular ui ([716478a](https://github.com/dyte-in/docs/commit/716478a14e5c351ddd8bdf731811da6f483a7543)) -* improve react ui kit docs ([e609b1c](https://github.com/dyte-in/docs/commit/e609b1cd6c22aa17b36ff44c057c95387a5e2927)) -* mock peers in grid ([afe2c5b](https://github.com/dyte-in/docs/commit/afe2c5bd8dda1cbe22d07456d6457c6d8264c994)) -* **polls:** add docs for polls ([ce4e9fb](https://github.com/dyte-in/docs/commit/ce4e9fb3ca6d7987e05222ce687aea7690750f98)) -* **quickstart:** added quickstart page and floating button ([408e81e](https://github.com/dyte-in/docs/commit/408e81ec1f294102d25a58d93aa7d6c92b307df3)) -* react ui kit docs, general fixes ([66ade31](https://github.com/dyte-in/docs/commit/66ade31967ce6b97dd7a5ec9e8a7127d0994a8bd)) -* refactored code, added section handler and sections ([2255383](https://github.com/dyte-in/docs/commit/2255383adcf3842cbbad7d8ecc0aea44a157aa87)) -* **switcher:** rename switcher header, disable selector in core SDK ([b83c32a](https://github.com/dyte-in/docs/commit/b83c32ae531476d3b0eae69964a863a18e02bdbd)) -* **ui-kit:** add ComponentsGrid ([c96c4c9](https://github.com/dyte-in/docs/commit/c96c4c9e09e7f7f8eaaa5ea93aea8a72ef95d1d5)) -* **ui-kit:** restructure docs, add placeholders ([3ed7e8e](https://github.com/dyte-in/docs/commit/3ed7e8e4d1dcd4184910aeecfbc48e531f8cb7e4)) -* **uikit:** add component preview ([dbdc2ea](https://github.com/dyte-in/docs/commit/dbdc2ea6dffd728d4096ae3a9ca6f95ae44a0970)) -* **uikit:** add components page ([8b4dcfd](https://github.com/dyte-in/docs/commit/8b4dcfd3002b936a3fe283acac44e8501e935a49)) -* **uikit:** add preview in quickstart ([845e572](https://github.com/dyte-in/docs/commit/845e5728fb773e84cb9658824d5eec4ae3cd9b69)) -* update docs script ([45b6a8b](https://github.com/dyte-in/docs/commit/45b6a8bdf5ee183088e630c7129d87dbff76c346)) -* update react-web-core API ([47a94ec](https://github.com/dyte-in/docs/commit/47a94ec5c7c11d81e82a84e5798a5ad481467485)) -* **versionedDoc:** add versioned documentation for local user ([64fd05d](https://github.com/dyte-in/docs/commit/64fd05d5533a38c94e23638cb7c822e41e22e4cd)) - -# [1.11.0](https://github.com/dyte-in/docs/compare/v1.10.4...v1.11.0) (2022-06-09) - - -### Features - -* new SDK docs ([#50](https://github.com/dyte-in/docs/issues/50)) ([1aeacd8](https://github.com/dyte-in/docs/commit/1aeacd8536a1a16a1602dbbc0572c4a5b42ebf4e)) - -## [1.10.4](https://github.com/dyte-in/docs/compare/v1.10.3...v1.10.4) (2022-05-27) - - -### Bug Fixes - -* **api/v1:** document validation error backend response code as 422 according to changes in backend ([b5162c3](https://github.com/dyte-in/docs/commit/b5162c3cd59f2c30d88b35fefba553e7088b1bd8)) - -## [1.10.3](https://github.com/dyte-in/docs/compare/v1.10.2...v1.10.3) (2022-05-13) - - -### Bug Fixes - -* virtual background docs ([2762f69](https://github.com/dyte-in/docs/commit/2762f6946aba282c1de2df9cfbaf9f94f49333e7)) - -## [1.10.2](https://github.com/dyte-in/docs/compare/v1.10.1...v1.10.2) (2022-05-07) - - -### Bug Fixes - -* **livestreaming:** clarify that livestreaming only works for h.264 codec ([d8df6a3](https://github.com/dyte-in/docs/commit/d8df6a3637310062a14fa45eb7115d0c9f67a1e4)) - -## [1.10.1](https://github.com/dyte-in/docs/compare/v1.10.0...v1.10.1) (2022-05-04) - - -### Bug Fixes - -* **cli:** fix installation instructions for yarn ([#44](https://github.com/dyte-in/docs/issues/44)) ([de0c22a](https://github.com/dyte-in/docs/commit/de0c22a41d924fcbc2f852a31b0488d39674ba25)) - -# [1.10.0](https://github.com/dyte-in/docs/compare/v1.9.0...v1.10.0) (2022-05-04) - - -### Features - -* **cli:** add a CLI section to the docs ([#43](https://github.com/dyte-in/docs/issues/43)) ([f261d9e](https://github.com/dyte-in/docs/commit/f261d9e5d6d484fa4bf005cae7d490d12bb40677)) - -# [1.9.0](https://github.com/dyte-in/docs/compare/v1.8.0...v1.9.0) (2022-05-04) - - -### Features - -* **cli:** add a CLI section to the docs ([#42](https://github.com/dyte-in/docs/issues/42)) ([e1a9b50](https://github.com/dyte-in/docs/commit/e1a9b506a26794c1a21867d3067f8505de03344a)) - -# [1.8.0](https://github.com/dyte-in/docs/compare/v1.7.1...v1.8.0) (2022-05-01) - - -### Features - -* **meetings:** add recordOnStart to create meeting route ([ae41208](https://github.com/dyte-in/docs/commit/ae412081a35d04d5ff88abc044231bd8238e7317)) - -## [1.7.1](https://github.com/dyte-in/docs/compare/v1.7.0...v1.7.1) (2022-04-07) - - -### Bug Fixes - -* **api:** button placement with announcement ([6b443d6](https://github.com/dyte-in/docs/commit/6b443d6902b57663dfda263e7e08b215bd1c480b)) - -# [1.7.0](https://github.com/dyte-in/docs/compare/v1.6.2...v1.7.0) (2022-04-07) - - -### Features - -* add announcement for upcoming sdks ([b9b4ebf](https://github.com/dyte-in/docs/commit/b9b4ebf6fd879e47a887f63d6cfca95fa6891950)) - -## [1.6.2](https://github.com/dyte-in/docs/compare/v1.6.1...v1.6.2) (2022-04-06) - - -### Bug Fixes - -* **flutter:** fixing variable decls, wordings, type, etc ([0dbef27](https://github.com/dyte-in/docs/commit/0dbef27526341032ac8096ca56e5cb527ee3340e)) - -## [1.6.1](https://github.com/dyte-in/docs/compare/v1.6.0...v1.6.1) (2022-04-06) - - -### Bug Fixes - -* **plugins:** waitlist Documentation ([#34](https://github.com/dyte-in/docs/issues/34)) ([6f00799](https://github.com/dyte-in/docs/commit/6f0079963584f5e948100c5087cde45cd9fbe28e)) - -# [1.6.0](https://github.com/dyte-in/docs/compare/v1.5.0...v1.6.0) (2022-04-06) - - -### Bug Fixes - -* typo ([0d27263](https://github.com/dyte-in/docs/commit/0d27263f195406f42ad7d3e5ea03d370c12204f3)) -* **web:** hide outdated webinar information ([b63b03a](https://github.com/dyte-in/docs/commit/b63b03aacf04a1ec5c27307ca2c70cc33fb6980e)) -* **web:** put button addition behind meetinJoined event ([2befc7d](https://github.com/dyte-in/docs/commit/2befc7df0298c736527e107bab05425cc2bc30a7)) - - -### Features - -* update web versions ([b01c3a8](https://github.com/dyte-in/docs/commit/b01c3a84406d4ce87026d881d7a19f3996f96a68)) - -# [1.5.0](https://github.com/dyte-in/docs/compare/v1.4.2...v1.5.0) (2022-04-06) - - -### Bug Fixes - -* **api:** show current version in dropdown ([44f982e](https://github.com/dyte-in/docs/commit/44f982e331a91d2824ec800142614821da9ab8e7)) - - -### Features - -* add postman collection button for v1 api ([5d62c5d](https://github.com/dyte-in/docs/commit/5d62c5de37541e6cc26a574fe75d5f72a9a1bb6d)) - -## [1.4.2](https://github.com/dyte-in/docs/compare/v1.4.1...v1.4.2) (2022-04-06) - - -### Bug Fixes - -* **introduction:** Cleanup introduction. ([c33e322](https://github.com/dyte-in/docs/commit/c33e3225efd3360ec760e872b0acd44750d78e35)) - -## [1.4.1](https://github.com/dyte-in/docs/compare/v1.4.0...v1.4.1) (2022-04-06) - - -### Bug Fixes - -* margin for headings in markdown ([7ccf408](https://github.com/dyte-in/docs/commit/7ccf408f877c28891a3cf9f0e80a507754bfb3d3)) - -# [1.4.0](https://github.com/dyte-in/docs/compare/v1.3.3...v1.4.0) (2022-03-28) - - -### Features - -* **static:** update openapi spec for latest release ([#26](https://github.com/dyte-in/docs/issues/26)) ([2596086](https://github.com/dyte-in/docs/commit/259608649461709f4492063dbcea5f9ca3eca078)) - -## [1.3.3](https://github.com/dyte-in/docs/compare/v1.3.2...v1.3.3) (2022-03-17) - - -### Bug Fixes - -* add default value for totalMinutes to fix stoplight overflow ([ea935ef](https://github.com/dyte-in/docs/commit/ea935ef31fb7510352768e47dce473b708365a05)) - -## [1.3.2](https://github.com/dyte-in/docs/compare/v1.3.1...v1.3.2) (2022-03-16) - - -### Bug Fixes - -* **api:** add default value to all stats api ([a0fc6da](https://github.com/dyte-in/docs/commit/a0fc6da476ccbc8006605139fad808c798ece4ad)) - -## [1.3.1](https://github.com/dyte-in/docs/compare/v1.3.0...v1.3.1) (2022-03-16) - - -### Bug Fixes - -* **v1:** document totalMinutes as floating point type instead of integer ([4b06bc2](https://github.com/dyte-in/docs/commit/4b06bc2e6b96ae6b3c6431521e33961cabf92f49)) -* **v1:** revert unrelated changes to upstream ([a76a311](https://github.com/dyte-in/docs/commit/a76a3118cbdfb85245e5a3529f79f9623bc3b2a8)) - -# [1.3.0](https://github.com/dyte-in/docs/compare/v1.2.1...v1.3.0) (2022-03-12) - - -### Features - -* **recording:** Add maxSeconds param in startRecording ([04b0103](https://github.com/dyte-in/docs/commit/04b010353ff87ec3699feec21aa357d626054c2f)) - -## [1.2.1](https://github.com/dyte-in/docs/compare/v1.2.0...v1.2.1) (2022-03-10) - - -### Bug Fixes - -* restore API spec for livestreams and active-sessions ([#17](https://github.com/dyte-in/docs/issues/17)) ([ced4b89](https://github.com/dyte-in/docs/commit/ced4b897cb11f680fb73c85f3b9443bf85beee8a)) - -# [1.2.0](https://github.com/dyte-in/docs/compare/v1.1.4...v1.2.0) (2022-03-07) - - -### Features - -* show `edit this page` and last edited metadata ([c96eb0e](https://github.com/dyte-in/docs/commit/c96eb0ee6f49ed7766529f1a7f06a5caf023ac12)) - -## [1.1.4](https://github.com/dyte-in/docs/compare/v1.1.3...v1.1.4) (2022-03-06) - - -### Bug Fixes - -* **codeowners:** updated team names in the repository ([314653a](https://github.com/dyte-in/docs/commit/314653a8eb432af5e0b1ddb67bbd19fffd62424d)) - -## [1.1.3](https://github.com/dyte-in/docs/compare/v1.1.2...v1.1.3) (2022-02-25) - - -### Bug Fixes - -* **docsearch:** continue on error ([dc2bd9f](https://github.com/dyte-in/docs/commit/dc2bd9f3332b9bf760d2f23071d570c1c9702014)) -* **docsearch:** suppress error for status code 3 ([d86cf78](https://github.com/dyte-in/docs/commit/d86cf78a756a1b5ea54da97e2e1dd9930f8649e7)) - -## [1.1.2](https://github.com/dyte-in/docs/compare/v1.1.1...v1.1.2) (2022-02-25) - - -### Bug Fixes - -* **crawl:** -it option fails in CI ([e5a9cc8](https://github.com/dyte-in/docs/commit/e5a9cc87585202e8e4200c7d9bf5fa891f998f16)) - -## [1.1.1](https://github.com/dyte-in/docs/compare/v1.1.0...v1.1.1) (2022-02-25) - - -### Bug Fixes - -* **docsearch:** added environment variables for docsearch ([54c6bc1](https://github.com/dyte-in/docs/commit/54c6bc1049720c239fac9a83ac158116d6ce8cf7)) -* **docsearch:** rename environment variables to avoid clashes ([28ae6b7](https://github.com/dyte-in/docs/commit/28ae6b77aa74b969277159a2f32cbac5bbd5772c)) - -# [1.1.0](https://github.com/dyte-in/docs/compare/v1.0.2...v1.1.0) (2022-02-24) - - -### Features - -* add usage docs in README ([aa4696a](https://github.com/dyte-in/docs/commit/aa4696ae3a749c31d377e700d620e356deac76b2)) - -## [1.0.2](https://github.com/dyte-in/docs/compare/v1.0.1...v1.0.2) (2022-02-23) - - -### Bug Fixes - -* lint issues in GridLink ([0696524](https://github.com/dyte-in/docs/commit/0696524d4c04afc83110ce277f1281f92ac7a91f)) - -## [1.0.1](https://github.com/dyte-in/docs/compare/v1.0.0...v1.0.1) (2022-02-23) - - -### Bug Fixes - -* **release:** trigger new release ([ea57abe](https://github.com/dyte-in/docs/commit/ea57abe8a5a63cb31a3cc19f88c6680c2ea692ed)) - -# 1.0.0 (2022-02-23) - - -### Bug Fixes - -* add dyte-logo in footer, navbar enhancements ([33e4541](https://github.com/dyte-in/docs/commit/33e4541d778cbed3e33b93f0e8550d649de52080)) -* add dyte.io link to footer logo ([94c02d6](https://github.com/dyte-in/docs/commit/94c02d69c7794910685fe18fb70eac470dc67dc0)) -* **api:** glitch when navigating to /api/ from navbar ([dd891c7](https://github.com/dyte-in/docs/commit/dd891c75d734f200752c4101a405c8255fdbe092)) -* **api:** remove url so support link points to email ([e97aeed](https://github.com/dyte-in/docs/commit/e97aeed892f46ff99fbf59a2238fe09996d4704b)) -* **api:** response codes starting with `4` have a red color ([0be9e00](https://github.com/dyte-in/docs/commit/0be9e00ff44b351be2f918eba4d104619f8384be)) -* **api:** update api reference page design ([ebec7e4](https://github.com/dyte-in/docs/commit/ebec7e453ba03981d12b65373f79733b77d94da0)) -* **api:** updated responses design with color indicators ([e832637](https://github.com/dyte-in/docs/commit/e832637e82dc65338e44812158aa3d6c29c1d681)) -* broken links by typo ([598b0ed](https://github.com/dyte-in/docs/commit/598b0ed1d68186ce1aee01c340521d0a00c43c28)) -* build errors due to ssr for /api ([ea033ea](https://github.com/dyte-in/docs/commit/ea033eaa3d2490791045870d7a292a336b7672e1)) -* build fail for /api ([c05c3ee](https://github.com/dyte-in/docs/commit/c05c3ee947df1feaef114ec09552b35bdbba276e)) -* changed sidebars file for /docs ([2618c70](https://github.com/dyte-in/docs/commit/2618c705489cdce98db3dc08a965a17af0d85809)) -* compress pngs ([fcd60e0](https://github.com/dyte-in/docs/commit/fcd60e04c1264e4e5c8b4efa79c3aa7e42dd82fd)) -* context switch lag - now using history.push ([56f23da](https://github.com/dyte-in/docs/commit/56f23da1c71e6b8b6cd19d2160ea6af028deab71)) -* context switcher - invalid docId ([ebbfc30](https://github.com/dyte-in/docs/commit/ebbfc3096d96e7a9e159d76cff8cfc6ea2e3a35d)) -* contextswitcher glitch in /docs fixed ([0e659f2](https://github.com/dyte-in/docs/commit/0e659f2efd98d0048686cb80652909d0c3bdc28e)) -* **crawl:** add `guides` section to crawler ([9eb1ac6](https://github.com/dyte-in/docs/commit/9eb1ac65e233cdf9da40c03eced00701ddc80d26)) -* **deploy:** downgrade elements and changed buffer fallback ([4b02f75](https://github.com/dyte-in/docs/commit/4b02f75c01df072887c0eb2a462f2fa59370a204)) -* **docs:** add `webinar` doc in guides sidebar ([24e6ae0](https://github.com/dyte-in/docs/commit/24e6ae03aa0fff17d0099327a3a6c5284e83acf7)) -* docsearch final config, updated /api/ path ([e8f730d](https://github.com/dyte-in/docs/commit/e8f730df196ac974ebaeeebbdbb078c090b33afe)) -* **docs:** home description meta tag set properly now ([d9c76f9](https://github.com/dyte-in/docs/commit/d9c76f98b592d06f04042928ed706eb81648d9c1)) -* **docs:** sidebar parity for `docs` and `guides` ([2b9623f](https://github.com/dyte-in/docs/commit/2b9623f96a20f5aa68d788553fb2a9527eae64e9)) -* **docs:** update how-dyte-works.png image 🚀 ([c9cfd6c](https://github.com/dyte-in/docs/commit/c9cfd6c6d7ec39cf05aa1404ef8e98fea9394cc9)) -* **docs:** update meeting-ui images for mobile, add preview image ([8c3c6d3](https://github.com/dyte-in/docs/commit/8c3c6d3b3646e1ac3bc2be1885106fe041a587ad)) -* **docs:** update mobile meeting-ui diagram ([cf12279](https://github.com/dyte-in/docs/commit/cf1227957c526a1287cf1e88430eadadf44ae82b)) -* **docs:** updated images and fixed metadata content ([d7bd790](https://github.com/dyte-in/docs/commit/d7bd790d4c438763eb811ba65c283c8a42363600)) -* enhanced ContextSwitcher UI, code refactored ([d5ab7b3](https://github.com/dyte-in/docs/commit/d5ab7b3913d4dc53b33f63a0476245ecb118fd18)) -* **flutter:** meeting mdx table methods intendation ([83be068](https://github.com/dyte-in/docs/commit/83be06823cf6dd0dcfad04bbf22743c83ae1f8bd)) -* **flutter:** meeting.mdx methods intendation ([3853f43](https://github.com/dyte-in/docs/commit/3853f43cb51529d7d140c7f3699dc54e273f99d3)) -* **footer:** updated footer text and replaced form with sign up link ([e0f299f](https://github.com/dyte-in/docs/commit/e0f299fb8c1ac63485669c923d7192c04c42688b)) -* **link:** update demo app link to `app.dyte.in` ([24a85f7](https://github.com/dyte-in/docs/commit/24a85f7c45ca0684db55756ef15330fc095313cf)) -* lint issues ([e9f9284](https://github.com/dyte-in/docs/commit/e9f928473afe3ca1de3ea68ef2c7217341d0c75f)) -* make docsearch detect subsections with selectors ([ac55d1d](https://github.com/dyte-in/docs/commit/ac55d1df6ea2053a4a329f2d5fc6b4221ee64dba)) -* make sidebars not collapsible in react, flutter ([2729ddb](https://github.com/dyte-in/docs/commit/2729ddb6f57ea3640463882c8275f31e225f0101)) -* mobile ContextSwitcher uses tailwindcss, refactor ([f665dcf](https://github.com/dyte-in/docs/commit/f665dcfeeaae99e8ece033309895f2d93cbbcc8e)) -* now working with older node and with yarn ([36e71f2](https://github.com/dyte-in/docs/commit/36e71f22a51897fe3d054260a784596bfabd2f20)) -* proper links to sample apps ([11cc9d6](https://github.com/dyte-in/docs/commit/11cc9d6ca26436b436418fba227daa3a9d0c6d1a)) -* redesigned navbar, icons changed, markdown sample added ([52a1427](https://github.com/dyte-in/docs/commit/52a14273b40e6c048ed54125dc0533ee4ec2cbb0)) -* **release:** trigger new release ([031ea20](https://github.com/dyte-in/docs/commit/031ea203e7f693d310bfe9471ff0baee334375c3)) -* remove basePath as warning is given for invalid basePath ([9eef8a7](https://github.com/dyte-in/docs/commit/9eef8a7590a2a259284f3077969ceedb58d59fcb)) -* remove broken link in react-native ([1255656](https://github.com/dyte-in/docs/commit/1255656aed62347529128b8db1fd2479e48a98bc)) -* remove dummy blog posts and add test post ([68017da](https://github.com/dyte-in/docs/commit/68017dac2854545933214712f54c3aa005bdb2a4)) -* remove navbar lv0 items, update docsearch config ([89e05e2](https://github.com/dyte-in/docs/commit/89e05e2c2fccf8ae61a11ac30a328448874cbcf0)) -* remove yarn.lock ([b97a1dc](https://github.com/dyte-in/docs/commit/b97a1dc4b9ea2d8a6046e56d541ff188dc4df694)) -* removed `next` in prod build, updated docsearch creds ([01c3b43](https://github.com/dyte-in/docs/commit/01c3b430d8ae00db192d0b0c795603fdd71f3b7b)) -* restructure navbar links ([4a945f7](https://github.com/dyte-in/docs/commit/4a945f77b97ac1f2a2d6dabf08f9a2aee7b78ce4)) -* sidebar now sticks again ([ca7423d](https://github.com/dyte-in/docs/commit/ca7423df6633010d14f91992ab813031af1d3585)) -* **stoplight:** remove font size, update package ([2c11e2f](https://github.com/dyte-in/docs/commit/2c11e2f89f4710916b29c1c8311ce42b0ba7c668)) -* tailwindcss resets removed to fix typography ([140d187](https://github.com/dyte-in/docs/commit/140d187ff0cdf13d16372d718bb6cf7f6957c51e)) -* theme switcher position fixed, added dev portal link ([9e7ac72](https://github.com/dyte-in/docs/commit/9e7ac72f03f2adb323292d695100e6446ac29a89)) -* typo ([b3204e1](https://github.com/dyte-in/docs/commit/b3204e19350ecfa924809e153e231ee834ff61db)) -* typo `shownn`, embed code typo ([0ebd057](https://github.com/dyte-in/docs/commit/0ebd057d79bb553b40b8104c2dda1ff40481d0b4)) -* typo in android docs ([cc7883d](https://github.com/dyte-in/docs/commit/cc7883dfa34b088aa764fe45a4c2b1962bbe3512)) -* **ui:** .string color in textrequestbody was not visible ([8f85da2](https://github.com/dyte-in/docs/commit/8f85da28ee634c45ebc3e523e70d44841b52556d)) -* **ui:** add react native icon in getstarted section ([e2854f3](https://github.com/dyte-in/docs/commit/e2854f34909592dc1a594c186da898010e5839f8)) -* **ui:** added hashchange detection in introduction page ([33de9ae](https://github.com/dyte-in/docs/commit/33de9ae85bb8b0f73188916224ad8159affe0bcf)) -* **ui:** added primary-100 for lighter primary shade (navbar) ([19c6737](https://github.com/dyte-in/docs/commit/19c6737eb3c4af9240588df9e9b8b0a58e8ef456)) -* **ui:** alignment of ([f61ef00](https://github.com/dyte-in/docs/commit/f61ef006bd1bcc2e91f8649ad1c9f82ccc985065)) -* **ui:** animate-pulse added for `dot-after` utility class ([093e073](https://github.com/dyte-in/docs/commit/093e07362bda8ceb08368b0b476ff619c205b0b7)) -* **ui:** api ref code color improvements ([3fc917d](https://github.com/dyte-in/docs/commit/3fc917decd13558642874a7877449187a171e63a)) -* **ui:** api reference - added border between right sections, response button ([7a1806c](https://github.com/dyte-in/docs/commit/7a1806cbffc3ea91c747b4cc6e9ea2df78205801)) -* **ui:** api reference border color changed ([1dd181d](https://github.com/dyte-in/docs/commit/1dd181d13a6ae134e4249377d1938e940c6903b6)) -* **ui:** api reference design update, revert css loading ([63cc0dd](https://github.com/dyte-in/docs/commit/63cc0dd02ce401005e9eae45f1abff0a14993823)) -* **ui:** api reference design updates, spacing etc ([fbd8d26](https://github.com/dyte-in/docs/commit/fbd8d262db6ff1e3f8d7c987753e9674237820d6)) -* **ui:** API reference ui customized, search box animated ([23b67df](https://github.com/dyte-in/docs/commit/23b67df842d5d038995de880fd8df8234ae165a0)) -* **ui:** api version switcher design cleanup ([a2f610c](https://github.com/dyte-in/docs/commit/a2f610c44fbf65754a47304d745a5148ec7628cc)) -* **ui:** change highlighted line color ([38794ec](https://github.com/dyte-in/docs/commit/38794ec2b1c48d421beecfb559e3ad232a91bbb6)) -* **ui:** changed API reference code colors ([89be71d](https://github.com/dyte-in/docs/commit/89be71d35cc894daf6169eb36e2e5963e9de60b9)) -* **ui:** changed BlogIcon ([6125911](https://github.com/dyte-in/docs/commit/61259114863968f9a1e998eca13343b046d9e1bc)) -* **ui:** changed ui of external links in navbar ([26795d8](https://github.com/dyte-in/docs/commit/26795d899d047c2e9c7bfceeac2ea0490cd3d8e8)) -* **ui:** dark mode color, code refactor (css) ([0252c55](https://github.com/dyte-in/docs/commit/0252c557488d9f5352829657c043c9f1fc0fa334)) -* **ui:** dark mode primary color ([ed330ed](https://github.com/dyte-in/docs/commit/ed330ed1f5b2e91508a5b1244600772141c33309)) -* **ui:** design updates, stoplight sentence case fix ([f8e8751](https://github.com/dyte-in/docs/commit/f8e87512b1e6205fe30a819d96c680f93259528d)) -* **ui:** dropdown design is consistent, added social links ([89d3290](https://github.com/dyte-in/docs/commit/89d3290bbc415b63a947918ea2f4cadbc7c255af)) -* **ui:** font sizes and spacing in elements updated ([e1c3839](https://github.com/dyte-in/docs/commit/e1c3839c0d0af9526e060b62cdb4ca8c0f4aeb45)) -* **ui:** gridlink shadow, showcase, dark mode primary color update ([df24de4](https://github.com/dyte-in/docs/commit/df24de47cac49dafc112cdd85d7a6ec63ef37f09)) -* **ui:** hashchange error in mobile fixed ([f365d37](https://github.com/dyte-in/docs/commit/f365d37fe2d9b2ff167bca901a68f450f448c49d)) -* **ui:** hidden version dropdown in mobile sidebar ([eb62e54](https://github.com/dyte-in/docs/commit/eb62e549b1d553b1850262e4394ddedfe4775a2b)) -* **ui:** icon background blended with text ([6351fc4](https://github.com/dyte-in/docs/commit/6351fc401b216a26ad84e4e4067d330d151a8ea9)) -* **ui:** increase base font-size for elements ([5d36c01](https://github.com/dyte-in/docs/commit/5d36c01592295a5e45891a8649221385d9bcd4a3)) -* **ui:** increase sidebar width as contextswitcher and dropdown break on smaller screens ([c60d2b7](https://github.com/dyte-in/docs/commit/c60d2b70bfe35d2f7c859607ec0ac9313d16b333)) -* **ui:** increased space between left sidebar and container in large screens ([45ca0fb](https://github.com/dyte-in/docs/commit/45ca0fb4692de6e9133f39833bf858326505c0f7)) -* **ui:** left and right scrollbar removed, added scrollbar styles ([b576be1](https://github.com/dyte-in/docs/commit/b576be13f303a6e28153e4ccd1af11e22465b302)) -* **ui:** made /api responsive on mobile ([8be458b](https://github.com/dyte-in/docs/commit/8be458bb816ec32a47d9e02adc4caf2210ea311c)) -* **ui:** make scrollbar corner transparent ([4a772d8](https://github.com/dyte-in/docs/commit/4a772d87a65da9b4b23bc32539d8c5e37fe8b068)) -* **ui:** minor ui fixes in API reference ([7f73264](https://github.com/dyte-in/docs/commit/7f732647c6fe3dac119aaecd751d2c0b9271e067)) -* **ui:** move response tab buttons to the right ([f46196c](https://github.com/dyte-in/docs/commit/f46196c73ffd32ddf0be1509518bc992828f5f33)) -* **ui:** now using "Source Sans Pro" and "Source Code Pro" ([30b943b](https://github.com/dyte-in/docs/commit/30b943b6c7fe457a4614921090a5a20b01a1680f)) -* **ui:** padding in mobile reset to default ([b52911f](https://github.com/dyte-in/docs/commit/b52911f9c2cf701c1fb32b1961b7543ad1791f28)) -* **ui:** position of sidebar collapse button ([cb7652e](https://github.com/dyte-in/docs/commit/cb7652e0595689c89730b94da9fee1286049561b)) -* **ui:** refactored api reference design ([8fc46ed](https://github.com/dyte-in/docs/commit/8fc46ed5e68b89c1b346c4db08da0d7f6e6d1602)) -* **ui:** remove current page highlight from api version switcher ([612681f](https://github.com/dyte-in/docs/commit/612681f419f2370a82279a0032e0aa1bb765e577)) -* **ui:** remove icons from introduction (how to use) ([ce353c7](https://github.com/dyte-in/docs/commit/ce353c7525fb2d016fd51e53b2351c9ffa379a9e)) -* **ui:** search kbd color change, sidebar spacing increased ([ae6ca2e](https://github.com/dyte-in/docs/commit/ae6ca2e95888ee72ed0855d1a0fa005f44826f88)) -* **ui:** search shortcut, backtotop position changed ([68dbecf](https://github.com/dyte-in/docs/commit/68dbecf7e95c97711272df2aee29c58b75a81930)) -* **ui:** sidebar toggle button position is now fixed ([3760c9e](https://github.com/dyte-in/docs/commit/3760c9ee599883df5031820a78c42b057590b9f0)) -* **ui:** typo which hid the hamburger menu in mobile ([100897e](https://github.com/dyte-in/docs/commit/100897e207cb4df0e897931ad0d1f19e2a92137e)) -* **ui:** update footer form ([3d5248f](https://github.com/dyte-in/docs/commit/3d5248f0e06f9d66d7dc6a79cdd7e5970593b83c)) -* **ui:** update footer sign up link design ([5f03e19](https://github.com/dyte-in/docs/commit/5f03e19e92167ef4ec7e52049b8fe526705f088a)) -* **ui:** update GridLinks UI in introduction page ([3fef0b2](https://github.com/dyte-in/docs/commit/3fef0b20bb597edde724455eab2d22174731e3b6)) -* **ui:** update heading colors for dark mode ([af2ee62](https://github.com/dyte-in/docs/commit/af2ee6218841efcef477a30ce50f67c86ce4ed20)) -* **ui:** update links in footer ([30a06bf](https://github.com/dyte-in/docs/commit/30a06bf51002443d8a0d891dd4e82dd708d75bbb)) -* **ui:** update stoplight elements colors ([e95d0aa](https://github.com/dyte-in/docs/commit/e95d0aabf8125a47b22faf555058f9f9667ef169)) -* **ui:** updated GetStartedCard design ([b9cd653](https://github.com/dyte-in/docs/commit/b9cd6532c6019b682e9702de9c4953ed8aa3a31a)) -* **ui:** updated leading for mobile ([e6313fa](https://github.com/dyte-in/docs/commit/e6313faae88c6c988d9cacb470ba88a773b45ece)) -* **ui:** updated navbar design ([6e61a64](https://github.com/dyte-in/docs/commit/6e61a64d91b046b5ba786c4179485e73eb33b9aa)) -* **ui:** updated styles, changed prism theme ([7bc0dc2](https://github.com/dyte-in/docs/commit/7bc0dc2c4a16ea97b249bc3911bd60b155e9dcb9)) -* **ui:** use drop-shadow instead of shadow for showcase ([aa8d097](https://github.com/dyte-in/docs/commit/aa8d097629421903f2eb207a8db4a8a9c86e7a75)) -* **ui:** use inline svg instead of via ([ca5b861](https://github.com/dyte-in/docs/commit/ca5b861ba4be86100298bc666cd406cf3521ecbd)) -* **ui:** using fira sans and fira code ([1a67e90](https://github.com/dyte-in/docs/commit/1a67e90665027991fd72b65b32e06c74e145010e)) -* **ui:** version dropdown now visible in mobile sidebar (build) ([856dca1](https://github.com/dyte-in/docs/commit/856dca1b88608b4454518e0a36a1aa7ea65036f0)) -* **ui:** version dropdown text overflow ([9a9ddec](https://github.com/dyte-in/docs/commit/9a9ddec867ab6b7c99e003116d28b5f07539a3f8)) -* update elements and refactor ([789cb5d](https://github.com/dyte-in/docs/commit/789cb5d1e36fb3bbb8419b5a34150b124f75a2fc)) -* updated API ref props ([e7e81c4](https://github.com/dyte-in/docs/commit/e7e81c47fae36fdb26c06e282766e31cf4b6b944)) -* updated docmanager to hide for /docs ([a46c837](https://github.com/dyte-in/docs/commit/a46c837928d942adbe705162616919ab25e67b1f)) -* updated handlePreferredDoc code, added comments ([221d2d5](https://github.com/dyte-in/docs/commit/221d2d57ed0d4c5649e42e7a1232f2157c41e672)) -* updated sidebar for guides section, design updates ([330952d](https://github.com/dyte-in/docs/commit/330952df634d30d2c988090b697bbf8d36741a8a)) -* use same sidebar content for `guides` and `docs` ([dd13999](https://github.com/dyte-in/docs/commit/dd13999fa7226a5ab323efe0c584abc9dad497f3)) -* **webhooks:** updated docs for organizedBy field in webhook body ([d37cc6b](https://github.com/dyte-in/docs/commit/d37cc6bcc7f040177bdfc6a2b0a2db8d2ab5f3d3)) -* **webpack:** buffer require() ([a7f1aaf](https://github.com/dyte-in/docs/commit/a7f1aaf892376af9c6660169ea1d74c49287c008)) -* **webpack:** provide buffer in plugin ([8b78819](https://github.com/dyte-in/docs/commit/8b78819e59c5e73aafcdf2029378ae9fa8338e3f)) -* **web:** setupscreen is true by default ([e780dc8](https://github.com/dyte-in/docs/commit/e780dc82996fda2d0c46bce2a43c80d4fa18640b)) - - -### Features - -* add a custom className for image showcase ([22dbf9e](https://github.com/dyte-in/docs/commit/22dbf9eb11019d6a073a5cce281d4f6a80c72810)) -* add crawl script ([74f1454](https://github.com/dyte-in/docs/commit/74f1454761bea056e8753247b0c3999eebefc7b1)) -* add Dockerfile for testing ([29b4874](https://github.com/dyte-in/docs/commit/29b4874c4cc8fbdea691519bdea7f52fcf4981f8)) -* add embed docs ([b637879](https://github.com/dyte-in/docs/commit/b63787927b8c1b0341128dca265f3a073ba1e198)) -* add fake ios version ([d198019](https://github.com/dyte-in/docs/commit/d198019f3a871c3032ca3b985cffcd9d69b7fea1)) -* add initial redesigned getstarted section ([3709302](https://github.com/dyte-in/docs/commit/37093027d8f65e1c3e9cea0dc5fd3625b435bc5d)) -* add ios updates ([fbfa540](https://github.com/dyte-in/docs/commit/fbfa5406b716577521bdf9012c8d236c0ae38539)) -* add metadata for /api route ([e3265df](https://github.com/dyte-in/docs/commit/e3265df8e176f64ca76f58087dbafc214fdd19d8)) -* add sample docs for demo ([d175788](https://github.com/dyte-in/docs/commit/d17578871e461eab3ded68b4deb65fbc7f1d8195)) -* add setLabel API docs ([158f091](https://github.com/dyte-in/docs/commit/158f0914a9493672c540bfd23df2f65a65dade60)) -* add tailwindcss 🚀 ([16a6999](https://github.com/dyte-in/docs/commit/16a69997e89d5aa877ee5fa12445c6a8bb225514)) -* add v2 api with version switcher dropdown ([172a025](https://github.com/dyte-in/docs/commit/172a025c177fe2f3c315bababfbc7139451301e7)) -* add videos for mobile and desktop ([f82afde](https://github.com/dyte-in/docs/commit/f82afde49600a775435878fbe527aca4b5cea248)) -* add videos in customize ui pages for react and js, refactored code ([#26](https://github.com/dyte-in/docs/issues/26)) ([57a05a0](https://github.com/dyte-in/docs/commit/57a05a001d71de5625c599fd1deea18d1670344c)) -* add yellow status color for 5xx response codes ([a0ef927](https://github.com/dyte-in/docs/commit/a0ef92730694fb6344a61a4c5f340085893c6872)) -* added `tailwindcss/nesting` for nested css ([2470b7c](https://github.com/dyte-in/docs/commit/2470b7ca43539906543932451b60cacf8a0b12af)) -* added algolia docsearch code ([14c3092](https://github.com/dyte-in/docs/commit/14c309201539f922d77e40c702700dff3830e287)) -* added fallback loading indicator for /api ([8aea366](https://github.com/dyte-in/docs/commit/8aea366525c0dad77394c91edf794b9314046bcb)) -* added initial introduction page ([5e3f92e](https://github.com/dyte-in/docs/commit/5e3f92eca4223113cef0fba435b4d2c1587d7bdf)) -* added known vector icons issue in docs ([92ed868](https://github.com/dyte-in/docs/commit/92ed868a158278626a5a94e07e3395a7ef4a835c)) -* added logic for context switching ([477d115](https://github.com/dyte-in/docs/commit/477d115e5f0a6f5ea4cf436afd4188cbb53f905e)) -* added OpenAPI docs at /api 🚀 ([6e38d93](https://github.com/dyte-in/docs/commit/6e38d93d3bf11b690c2102d560fc3fb125a58dc3)) -* added posthog ([499310e](https://github.com/dyte-in/docs/commit/499310e0fcc31bad84c7df07efdd134169aa2d30)) -* added social links in footer ([074e40d](https://github.com/dyte-in/docs/commit/074e40d210ca2a7548be4e6b5815ec2129aa90e6)) -* added version dropdown ([d15fa6a](https://github.com/dyte-in/docs/commit/d15fa6a29a9384e433e69e123eaf1b9ac6daeced)) -* bumped docusaurus, fixed new version issues ([a2fa15f](https://github.com/dyte-in/docs/commit/a2fa15f0b91bea2ca29204fcff1fcdda87fe83e9)) -* **docs:** add steps to write docs in README ([1757190](https://github.com/dyte-in/docs/commit/175719098dcfa507d3b39cb1ba2f779016bf8451)) -* **dx:** add linting: react, prettier ([5a0edb0](https://github.com/dyte-in/docs/commit/5a0edb00b0be6b1fde3df381eded6d368f1fe70c)) -* enable dropdown in mobile sidebar, add shadow to showcase ([135377f](https://github.com/dyte-in/docs/commit/135377f359c472209ec6957ec02bfb27c2258e56)) -* enable search ([3d1d4b1](https://github.com/dyte-in/docs/commit/3d1d4b1440cd58b1a8bec233b6e4031bee461b24)) -* **flutter:** version 0.5.x docs ([b55b0e7](https://github.com/dyte-in/docs/commit/b55b0e7bf5cdbfaab3467faefc3843c20d6675ff)) -* **iframe:** add doc for handling meetingEnded ([e45392e](https://github.com/dyte-in/docs/commit/e45392e71e344654f17a0e0f467ecebbc47b3afb)) -* mobile sidebar added ([7af1266](https://github.com/dyte-in/docs/commit/7af12668995b427d4e4fac1d4a1dd44de0d3c17b)) -* **mobile-sdks:** added localMediaConnected docs ([d94f7f4](https://github.com/dyte-in/docs/commit/d94f7f4a3b60939e3807ebf2f630cad363a36f12)) -* **mobile-sdk:** Updated sdk to latest versions ([01d0920](https://github.com/dyte-in/docs/commit/01d0920fe256a6b6dc3b48e282c9cc03259dd0ad)) -* new design (header, footer, sidebar, context switcher) ([82ec9b9](https://github.com/dyte-in/docs/commit/82ec9b90d07240258184cc3cdd7f1db2bfcc3cfd)) -* new sidebar minimize ui, other ui updates ([3226b1a](https://github.com/dyte-in/docs/commit/3226b1a3885405bb58172d4add7d859c8d013c7d)) -* now using Inter font ([5de8e0f](https://github.com/dyte-in/docs/commit/5de8e0f485f8bf89c047f4d495f14c35e48a1820)) -* polish ([653d033](https://github.com/dyte-in/docs/commit/653d03311ccf448db136ef50b4023a435e3cf2d5)) -* remove blog and add algolia creds ([a731a6a](https://github.com/dyte-in/docs/commit/a731a6a49442311566e8b4e84b7e8e0bb3f8658d)) -* **rn:** update docs for 0.3.0, 0.4.0 ([a16938a](https://github.com/dyte-in/docs/commit/a16938a43d72d2de3a768c8e44740f861b0c1d28)) -* **rn:** update to 13.x, add label docs ([7e8a283](https://github.com/dyte-in/docs/commit/7e8a283200f1129289c8a965da3bafb6a68210fd)) -* set dark mode as default ([ace13ad](https://github.com/dyte-in/docs/commit/ace13addcd17275547e297edce6a1a679dd2cd15)) -* **ui:** added dot-after utility for adding a dot after an element ([f056bc8](https://github.com/dyte-in/docs/commit/f056bc8b6efaabaf95951c027a5aaf23a350218a)) -* update api v1 with webhook `enabled` field ([94141e6](https://github.com/dyte-in/docs/commit/94141e6bab5249c5765b6730f1b467bdf6e5986b)) -* update docs according to release and version number ([649943d](https://github.com/dyte-in/docs/commit/649943d15c53b7a958c4e1d6809409fb6ea89353)) -* update sidebar design ([39afd2e](https://github.com/dyte-in/docs/commit/39afd2ee2444c32357724b5b0258b3100d3659cb)) -* upgrade `tailwindcss` to `3.0.19` ([2c088ec](https://github.com/dyte-in/docs/commit/2c088ec630f3041f17954b9979b4bcd465323b12)) -* use `groupId` to group `Tabs` selections ([ea3d967](https://github.com/dyte-in/docs/commit/ea3d967a876778d2167b7c4e5f1ccadd9f5d9765)) -* version updates ([78ab521](https://github.com/dyte-in/docs/commit/78ab52102f09f97931f3a93639eac9a9565c8007)) -* **web:** i18n support ([fd042c8](https://github.com/dyte-in/docs/commit/fd042c8893491daf9fe4ff47e926f7798192e37b)) -* **websdk:** update to 0.19.x ([76add80](https://github.com/dyte-in/docs/commit/76add80271c60585e8a78fda3be8a0b909b9dfd3)) - -# 1.0.0 (2022-02-22) - - -### Bug Fixes - -* add dyte-logo in footer, navbar enhancements ([33e4541](https://github.com/dyte-in/docs/commit/33e4541d778cbed3e33b93f0e8550d649de52080)) -* add dyte.io link to footer logo ([94c02d6](https://github.com/dyte-in/docs/commit/94c02d69c7794910685fe18fb70eac470dc67dc0)) -* **api:** glitch when navigating to /api/ from navbar ([51d97ac](https://github.com/dyte-in/docs/commit/51d97ac1e50dcdd33d7d77ff265e96168e66a027)) -* **api:** remove url so support link points to email ([b79beea](https://github.com/dyte-in/docs/commit/b79beea3114a0b8e768974f894f64dd3397a3b02)) -* **api:** response codes starting with `4` have a red color ([8d2499a](https://github.com/dyte-in/docs/commit/8d2499ad09bc5274059c37f657acb30b10aea8b4)) -* **api:** update api reference page design ([4e2b3d4](https://github.com/dyte-in/docs/commit/4e2b3d407aae4e1ada41d19a624d88b6225c3fbb)) -* **api:** updated responses design with color indicators ([fcd6b0a](https://github.com/dyte-in/docs/commit/fcd6b0a497c1ff6299e1f4dffd5a148a8effa3d0)) -* broken links by typo ([fff68a1](https://github.com/dyte-in/docs/commit/fff68a1e42f4f0b0e87fb33dcad092c13a925e20)) -* build errors due to ssr for /api ([d2881a7](https://github.com/dyte-in/docs/commit/d2881a741dcb20215db397f95ece7ec524b00232)) -* build fail for /api ([c05c3ee](https://github.com/dyte-in/docs/commit/c05c3ee947df1feaef114ec09552b35bdbba276e)) -* changed sidebars file for /docs ([773e065](https://github.com/dyte-in/docs/commit/773e065394c09f73433552f91109352497058dc4)) -* compress pngs ([68d5741](https://github.com/dyte-in/docs/commit/68d57417dc8796c597c06fce257931606c70832a)) -* context switch lag - now using history.push ([56f23da](https://github.com/dyte-in/docs/commit/56f23da1c71e6b8b6cd19d2160ea6af028deab71)) -* context switcher - invalid docId ([ebbfc30](https://github.com/dyte-in/docs/commit/ebbfc3096d96e7a9e159d76cff8cfc6ea2e3a35d)) -* contextswitcher glitch in /docs fixed ([6c18f9d](https://github.com/dyte-in/docs/commit/6c18f9d7b5ec5d0dcc027215aea7fa1b2448e755)) -* **crawl:** add `guides` section to crawler ([62b8ee4](https://github.com/dyte-in/docs/commit/62b8ee47690e0bdcf0376dbd5c6db3e31adf4735)) -* **deploy:** downgrade elements and changed buffer fallback ([4b02f75](https://github.com/dyte-in/docs/commit/4b02f75c01df072887c0eb2a462f2fa59370a204)) -* **docs:** add `webinar` doc in guides sidebar ([a15816f](https://github.com/dyte-in/docs/commit/a15816f18fb0277c7905b2120c1c376c5afa3a8b)) -* docsearch final config, updated /api/ path ([93bc744](https://github.com/dyte-in/docs/commit/93bc74458fec1b0dd3ad377182b3241cf592860d)) -* **docs:** home description meta tag set properly now ([a4f6d69](https://github.com/dyte-in/docs/commit/a4f6d699ddd48d3323225917515c5c9e32f7991c)) -* **docs:** sidebar parity for `docs` and `guides` ([2e82ffd](https://github.com/dyte-in/docs/commit/2e82ffd9f5eac0342b9b45aafb15b7a1c93ec358)) -* **docs:** update how-dyte-works.png image 🚀 ([ced66d0](https://github.com/dyte-in/docs/commit/ced66d044082467236c298324a6ab3a5ed7fc546)) -* **docs:** update meeting-ui images for mobile, add preview image ([0449a72](https://github.com/dyte-in/docs/commit/0449a72066c930b230e534e5a7377f611426b023)) -* **docs:** update mobile meeting-ui diagram ([d92138b](https://github.com/dyte-in/docs/commit/d92138bac6052717895d118614a80cde0dcda061)) -* **docs:** updated images and fixed metadata content ([e54cc7a](https://github.com/dyte-in/docs/commit/e54cc7a35c055867ed73907f73d9290a0ecf4a9b)) -* enhanced ContextSwitcher UI, code refactored ([d5ab7b3](https://github.com/dyte-in/docs/commit/d5ab7b3913d4dc53b33f63a0476245ecb118fd18)) -* **flutter:** meeting mdx table methods intendation ([c3d8fbf](https://github.com/dyte-in/docs/commit/c3d8fbfa01c0b24755047baeec6cf4deda485c2f)) -* **flutter:** meeting.mdx methods intendation ([336c8be](https://github.com/dyte-in/docs/commit/336c8bee42ec214813d2682f0099a74ebce5cd9d)) -* **footer:** updated footer text and replaced form with sign up link ([e7aa701](https://github.com/dyte-in/docs/commit/e7aa701d0a4438c38ba84f303df98d9326b16e79)) -* **link:** update demo app link to `app.dyte.in` ([1164181](https://github.com/dyte-in/docs/commit/1164181a1e0712fbfac529bbbd076a2795364205)) -* make docsearch detect subsections with selectors ([2872783](https://github.com/dyte-in/docs/commit/2872783011f95a40e15222ea2509d39062f1dfef)) -* make sidebars not collapsible in react, flutter ([4fd70e0](https://github.com/dyte-in/docs/commit/4fd70e0d67cd17b6a3f76c2bf5bdd5606fed1f59)) -* mobile ContextSwitcher uses tailwindcss, refactor ([f665dcf](https://github.com/dyte-in/docs/commit/f665dcfeeaae99e8ece033309895f2d93cbbcc8e)) -* now working with older node and with yarn ([279cff9](https://github.com/dyte-in/docs/commit/279cff99f50b39e5e84aaa9194f19fa1993866c0)) -* proper links to sample apps ([067ace0](https://github.com/dyte-in/docs/commit/067ace06c9d6a5802d40c264041cf63d374c8275)) -* redesigned navbar, icons changed, markdown sample added ([52a1427](https://github.com/dyte-in/docs/commit/52a14273b40e6c048ed54125dc0533ee4ec2cbb0)) -* remove basePath as warning is given for invalid basePath ([9eef8a7](https://github.com/dyte-in/docs/commit/9eef8a7590a2a259284f3077969ceedb58d59fcb)) -* remove broken link in react-native ([f4602a7](https://github.com/dyte-in/docs/commit/f4602a763f0fb2be7f32d9d04b25b34f2b747fcd)) -* remove dummy blog posts and add test post ([68017da](https://github.com/dyte-in/docs/commit/68017dac2854545933214712f54c3aa005bdb2a4)) -* remove navbar lv0 items, update docsearch config ([7cb9483](https://github.com/dyte-in/docs/commit/7cb94837fb5f3b1ad31708ee55e3a6aec9be2fe9)) -* remove yarn.lock ([b97a1dc](https://github.com/dyte-in/docs/commit/b97a1dc4b9ea2d8a6046e56d541ff188dc4df694)) -* removed `next` in prod build, updated docsearch creds ([29cbf81](https://github.com/dyte-in/docs/commit/29cbf817fe4cb9a0c7942ae7469cd37191024fea)) -* restructure navbar links ([e3ec2ce](https://github.com/dyte-in/docs/commit/e3ec2cefbe8378fe909e2d4d7c7927e99652ee42)) -* sidebar now sticks again ([c20d7d7](https://github.com/dyte-in/docs/commit/c20d7d76500caa836812697ccc36c48b140e5a73)) -* **stoplight:** remove font size, update package ([1a2e1cf](https://github.com/dyte-in/docs/commit/1a2e1cf2e71116ef1de93897171c64f586fa5f29)) -* tailwindcss resets removed to fix typography ([140d187](https://github.com/dyte-in/docs/commit/140d187ff0cdf13d16372d718bb6cf7f6957c51e)) -* theme switcher position fixed, added dev portal link ([9e7ac72](https://github.com/dyte-in/docs/commit/9e7ac72f03f2adb323292d695100e6446ac29a89)) -* typo ([86542c7](https://github.com/dyte-in/docs/commit/86542c7104984d4b8400f114647895ad50e8e2af)) -* typo `shownn`, embed code typo ([190d1d7](https://github.com/dyte-in/docs/commit/190d1d7fb57233f838a71dbb5f78fb2b1eb07d43)) -* typo in android docs ([96cfd7f](https://github.com/dyte-in/docs/commit/96cfd7f0b77d2210e06cc4a2b8e4244697dffb6a)) -* **ui:** .string color in textrequestbody was not visible ([e2c8507](https://github.com/dyte-in/docs/commit/e2c850784e2c94884a9a216f4feb4536c29a0fb9)) -* **ui:** add react native icon in getstarted section ([b1e646a](https://github.com/dyte-in/docs/commit/b1e646aad014155247286219b71b84af163079b2)) -* **ui:** added hashchange detection in introduction page ([99b1324](https://github.com/dyte-in/docs/commit/99b1324b3cabb5f9efd56c271a1411949bfae2f5)) -* **ui:** added primary-100 for lighter primary shade (navbar) ([107f9f9](https://github.com/dyte-in/docs/commit/107f9f95a0874cef5ee1e9b24f65860f8f5fe067)) -* **ui:** alignment of ([3ffd379](https://github.com/dyte-in/docs/commit/3ffd37946497069714010f95788ce248be27e1a8)) -* **ui:** animate-pulse added for `dot-after` utility class ([4a0d955](https://github.com/dyte-in/docs/commit/4a0d955c8f0f2e1778d4a6394174180b70f2bb76)) -* **ui:** api ref code color improvements ([fc1a571](https://github.com/dyte-in/docs/commit/fc1a57194da88e7c2ca4cf9a2cc7d7aae4b90880)) -* **ui:** api reference - added border between right sections, response button ([f726f84](https://github.com/dyte-in/docs/commit/f726f84773f6397c53c8dc8c0b9c12e63c515733)) -* **ui:** api reference border color changed ([67e9df8](https://github.com/dyte-in/docs/commit/67e9df84a5089fecbf4852a914e8654a842d6eb0)) -* **ui:** api reference design update, revert css loading ([9ca2715](https://github.com/dyte-in/docs/commit/9ca27153d7f058a221413eaf409f5ac178250351)) -* **ui:** api reference design updates, spacing etc ([932d821](https://github.com/dyte-in/docs/commit/932d8216c054071cf7eb7c738651a0daac6a7a70)) -* **ui:** API reference ui customized, search box animated ([be73dbe](https://github.com/dyte-in/docs/commit/be73dbe53bca4897187f8599fb0563b071ec3d84)) -* **ui:** api version switcher design cleanup ([0af13eb](https://github.com/dyte-in/docs/commit/0af13eb60cc6dadee39420fbc6e9c2f9923b6021)) -* **ui:** change highlighted line color ([d1845b5](https://github.com/dyte-in/docs/commit/d1845b561f2424b24e858a75041e6ea2bb5f9214)) -* **ui:** changed API reference code colors ([6a8ca3c](https://github.com/dyte-in/docs/commit/6a8ca3ccde34f172d4328fc489bad8169a8d08bd)) -* **ui:** changed BlogIcon ([86d2beb](https://github.com/dyte-in/docs/commit/86d2bebdddab3d2368589f1e60aa251146be1007)) -* **ui:** changed ui of external links in navbar ([26795d8](https://github.com/dyte-in/docs/commit/26795d899d047c2e9c7bfceeac2ea0490cd3d8e8)) -* **ui:** dark mode color, code refactor (css) ([0252c55](https://github.com/dyte-in/docs/commit/0252c557488d9f5352829657c043c9f1fc0fa334)) -* **ui:** dark mode primary color ([ed330ed](https://github.com/dyte-in/docs/commit/ed330ed1f5b2e91508a5b1244600772141c33309)) -* **ui:** design updates, stoplight sentence case fix ([4617fbc](https://github.com/dyte-in/docs/commit/4617fbc737f43c7b5d0993f6def9ad17e34636fd)) -* **ui:** dropdown design is consistent, added social links ([cea8eb2](https://github.com/dyte-in/docs/commit/cea8eb2a19defc752beba0084bd9a899e54e9c94)) -* **ui:** font sizes and spacing in elements updated ([649ad2a](https://github.com/dyte-in/docs/commit/649ad2a6358b2a97ee5c712d78a261376e45fa90)) -* **ui:** gridlink shadow, showcase, dark mode primary color update ([df24de4](https://github.com/dyte-in/docs/commit/df24de47cac49dafc112cdd85d7a6ec63ef37f09)) -* **ui:** hashchange error in mobile fixed ([42f995a](https://github.com/dyte-in/docs/commit/42f995a541040808bb6dd90694101d1e07c9074b)) -* **ui:** hidden version dropdown in mobile sidebar ([122bbda](https://github.com/dyte-in/docs/commit/122bbda019f9ee8f3d0f1f4f38d4c30a0ac19846)) -* **ui:** icon background blended with text ([c0c501b](https://github.com/dyte-in/docs/commit/c0c501b841d15e3b4254288133bfbcbc6d4f9bcb)) -* **ui:** increase base font-size for elements ([c173a7e](https://github.com/dyte-in/docs/commit/c173a7e855470d321ef09fa08d21fdbdc5ed9ed8)) -* **ui:** increase sidebar width as contextswitcher and dropdown break on smaller screens ([aaa2008](https://github.com/dyte-in/docs/commit/aaa2008f7dc109678a2de6eaed23219cf871db91)) -* **ui:** increased space between left sidebar and container in large screens ([a603bf8](https://github.com/dyte-in/docs/commit/a603bf82a211d2569e8af4b389f24490161171be)) -* **ui:** left and right scrollbar removed, added scrollbar styles ([5b1cbf8](https://github.com/dyte-in/docs/commit/5b1cbf8036d161e43a088faa793edcc011747beb)) -* **ui:** made /api responsive on mobile ([3684efe](https://github.com/dyte-in/docs/commit/3684efe44804285eae87e0931b144dbc09fc5a5e)) -* **ui:** make scrollbar corner transparent ([803ef8a](https://github.com/dyte-in/docs/commit/803ef8a68d551f8eee6c532db47ca618acd48a5c)) -* **ui:** minor ui fixes in API reference ([15e7819](https://github.com/dyte-in/docs/commit/15e78194ccc18e1c3f77258f4c0d31c1cc2ce2de)) -* **ui:** move response tab buttons to the right ([a78610e](https://github.com/dyte-in/docs/commit/a78610e42a8a58aa70563c0b051110bab59b79db)) -* **ui:** now using "Source Sans Pro" and "Source Code Pro" ([6830377](https://github.com/dyte-in/docs/commit/6830377a8fcaa1ac5a73aa47f7cd77f7f2cda206)) -* **ui:** padding in mobile reset to default ([8aea5e2](https://github.com/dyte-in/docs/commit/8aea5e2d5af792c54285c20d8c3f58fc1e076c4a)) -* **ui:** position of sidebar collapse button ([cb7652e](https://github.com/dyte-in/docs/commit/cb7652e0595689c89730b94da9fee1286049561b)) -* **ui:** refactored api reference design ([9d5e8aa](https://github.com/dyte-in/docs/commit/9d5e8aa51d8a7fb677333bfe47eb7c597c82f537)) -* **ui:** remove current page highlight from api version switcher ([e164a96](https://github.com/dyte-in/docs/commit/e164a96cffb663a2de196e13cebdfa24a67a4294)) -* **ui:** remove icons from introduction (how to use) ([a4ea8b9](https://github.com/dyte-in/docs/commit/a4ea8b902698746d0fbab6525fdaf0ff17982cdb)) -* **ui:** search kbd color change, sidebar spacing increased ([ae6ca2e](https://github.com/dyte-in/docs/commit/ae6ca2e95888ee72ed0855d1a0fa005f44826f88)) -* **ui:** search shortcut, backtotop position changed ([68dbecf](https://github.com/dyte-in/docs/commit/68dbecf7e95c97711272df2aee29c58b75a81930)) -* **ui:** sidebar toggle button position is now fixed ([3760c9e](https://github.com/dyte-in/docs/commit/3760c9ee599883df5031820a78c42b057590b9f0)) -* **ui:** typo which hid the hamburger menu in mobile ([e92ac01](https://github.com/dyte-in/docs/commit/e92ac01daf0d75cb16126dcbbac83d65388d4ebc)) -* **ui:** update footer form ([8682240](https://github.com/dyte-in/docs/commit/8682240cfb74d278d6bd943cb1630ff9c2ee0328)) -* **ui:** update footer sign up link design ([079ebc4](https://github.com/dyte-in/docs/commit/079ebc4175ef08aea9143f31e1e8e68e932f6b58)) -* **ui:** update GridLinks UI in introduction page ([3fef0b2](https://github.com/dyte-in/docs/commit/3fef0b20bb597edde724455eab2d22174731e3b6)) -* **ui:** update heading colors for dark mode ([8304f4f](https://github.com/dyte-in/docs/commit/8304f4f37f0878278bdcd6b31183bcaab4f1417b)) -* **ui:** update links in footer ([2a7cdd3](https://github.com/dyte-in/docs/commit/2a7cdd3876e0a4ba56abf93d2967fe238af51391)) -* **ui:** update stoplight elements colors ([3de8474](https://github.com/dyte-in/docs/commit/3de84747751229857445e50a923ac738271d5fd5)) -* **ui:** updated GetStartedCard design ([3a772a5](https://github.com/dyte-in/docs/commit/3a772a55488a11b3a59dc0820b8333b52d99924f)) -* **ui:** updated leading for mobile ([eac4a5e](https://github.com/dyte-in/docs/commit/eac4a5e947c05cd49dd14f5cb5616b9403c45eef)) -* **ui:** updated navbar design ([6e61a64](https://github.com/dyte-in/docs/commit/6e61a64d91b046b5ba786c4179485e73eb33b9aa)) -* **ui:** updated styles, changed prism theme ([7bc0dc2](https://github.com/dyte-in/docs/commit/7bc0dc2c4a16ea97b249bc3911bd60b155e9dcb9)) -* **ui:** use drop-shadow instead of shadow for showcase ([c6028fb](https://github.com/dyte-in/docs/commit/c6028fbdbe12a45fb180a327d8b80a1a30b498c5)) -* **ui:** use inline svg instead of via ([ca5b861](https://github.com/dyte-in/docs/commit/ca5b861ba4be86100298bc666cd406cf3521ecbd)) -* **ui:** using fira sans and fira code ([2f47f57](https://github.com/dyte-in/docs/commit/2f47f57e9d5ff0543e8b1f523ac468af77f46eac)) -* **ui:** version dropdown now visible in mobile sidebar (build) ([856dca1](https://github.com/dyte-in/docs/commit/856dca1b88608b4454518e0a36a1aa7ea65036f0)) -* **ui:** version dropdown text overflow ([9a9ddec](https://github.com/dyte-in/docs/commit/9a9ddec867ab6b7c99e003116d28b5f07539a3f8)) -* update elements and refactor ([789cb5d](https://github.com/dyte-in/docs/commit/789cb5d1e36fb3bbb8419b5a34150b124f75a2fc)) -* updated API ref props ([e7e81c4](https://github.com/dyte-in/docs/commit/e7e81c47fae36fdb26c06e282766e31cf4b6b944)) -* updated docmanager to hide for /docs ([a46c837](https://github.com/dyte-in/docs/commit/a46c837928d942adbe705162616919ab25e67b1f)) -* updated handlePreferredDoc code, added comments ([9cb114b](https://github.com/dyte-in/docs/commit/9cb114b5425bb0c4192eebf9ef0fea7ca9dc7979)) -* updated sidebar for guides section, design updates ([3a9350d](https://github.com/dyte-in/docs/commit/3a9350da03a60fd7835c794b7bb1c537bdcfe466)) -* use same sidebar content for `guides` and `docs` ([628aa91](https://github.com/dyte-in/docs/commit/628aa91f46c3118c7cb996c237ca5a87e3cf1660)) -* **webhooks:** updated docs for organizedBy field in webhook body ([b4ca40b](https://github.com/dyte-in/docs/commit/b4ca40b2090c0b35d116c7b93f6918c1573b4ed3)) -* **webpack:** buffer require() ([a7f1aaf](https://github.com/dyte-in/docs/commit/a7f1aaf892376af9c6660169ea1d74c49287c008)) -* **webpack:** provide buffer in plugin ([8b78819](https://github.com/dyte-in/docs/commit/8b78819e59c5e73aafcdf2029378ae9fa8338e3f)) -* **web:** setupscreen is true by default ([aee3b5e](https://github.com/dyte-in/docs/commit/aee3b5e5ebe4cf47a4c90980c4512dc8b8307bcb)) - - -### Features - -* add a custom className for image showcase ([22dbf9e](https://github.com/dyte-in/docs/commit/22dbf9eb11019d6a073a5cce281d4f6a80c72810)) -* add crawl script ([f8a6ac6](https://github.com/dyte-in/docs/commit/f8a6ac6f3716da1b69e420053a72a990151a5696)) -* add Dockerfile for testing ([29b4874](https://github.com/dyte-in/docs/commit/29b4874c4cc8fbdea691519bdea7f52fcf4981f8)) -* add embed docs ([f0cd561](https://github.com/dyte-in/docs/commit/f0cd561e3deca228d7fbbe1863a483fe9543cc68)) -* add fake ios version ([9f485df](https://github.com/dyte-in/docs/commit/9f485df237a5af0dfd98bb621ea19c2d9ab2e3bb)) -* add initial redesigned getstarted section ([89d7322](https://github.com/dyte-in/docs/commit/89d7322886a9f019a63c0d2d743f85ccbf830879)) -* add ios updates ([a480d05](https://github.com/dyte-in/docs/commit/a480d0590eff30b72a6195cbc8ece1e5b57698da)) -* add metadata for /api route ([3919457](https://github.com/dyte-in/docs/commit/3919457c6b69b6648531db72dfce5211b1682af1)) -* add sample docs for demo ([d175788](https://github.com/dyte-in/docs/commit/d17578871e461eab3ded68b4deb65fbc7f1d8195)) -* add setLabel API docs ([6f6f05e](https://github.com/dyte-in/docs/commit/6f6f05ed6d44851e73f2cd8724c6fef0c935da87)) -* add tailwindcss 🚀 ([16a6999](https://github.com/dyte-in/docs/commit/16a69997e89d5aa877ee5fa12445c6a8bb225514)) -* add v2 api with version switcher dropdown ([2291484](https://github.com/dyte-in/docs/commit/229148476628dcbc84ff0c7f1258645760920a1b)) -* add videos for mobile and desktop ([c80c09a](https://github.com/dyte-in/docs/commit/c80c09a9de1afc2d868d3483fcf102ffd539750f)) -* add videos in customize ui pages for react and js, refactored code ([#26](https://github.com/dyte-in/docs/issues/26)) ([c937c00](https://github.com/dyte-in/docs/commit/c937c0067b95c6dca0dda28c01c7038d66bfa5e8)) -* add yellow status color for 5xx response codes ([7a51fa2](https://github.com/dyte-in/docs/commit/7a51fa2b9577f624ddbccf071b2aeaaca197df4b)) -* added `tailwindcss/nesting` for nested css ([cc6f3a7](https://github.com/dyte-in/docs/commit/cc6f3a79aab48a3bc944209016fa74e9172f769e)) -* added algolia docsearch code ([6267011](https://github.com/dyte-in/docs/commit/6267011d26881098d29d242bce1c0fd3d0d766a5)) -* added fallback loading indicator for /api ([8aea366](https://github.com/dyte-in/docs/commit/8aea366525c0dad77394c91edf794b9314046bcb)) -* added initial introduction page ([5e3f92e](https://github.com/dyte-in/docs/commit/5e3f92eca4223113cef0fba435b4d2c1587d7bdf)) -* added known vector icons issue in docs ([1b9c54c](https://github.com/dyte-in/docs/commit/1b9c54cea9703be982b231f870355ee3250fbf96)) -* added logic for context switching ([477d115](https://github.com/dyte-in/docs/commit/477d115e5f0a6f5ea4cf436afd4188cbb53f905e)) -* added OpenAPI docs at /api 🚀 ([6e38d93](https://github.com/dyte-in/docs/commit/6e38d93d3bf11b690c2102d560fc3fb125a58dc3)) -* added posthog ([3c98e19](https://github.com/dyte-in/docs/commit/3c98e1987a806d8078772f9ba142d6e6bc67ea57)) -* added social links in footer ([074e40d](https://github.com/dyte-in/docs/commit/074e40d210ca2a7548be4e6b5815ec2129aa90e6)) -* added version dropdown ([d15fa6a](https://github.com/dyte-in/docs/commit/d15fa6a29a9384e433e69e123eaf1b9ac6daeced)) -* bumped docusaurus, fixed new version issues ([a2fa15f](https://github.com/dyte-in/docs/commit/a2fa15f0b91bea2ca29204fcff1fcdda87fe83e9)) -* **docs:** add steps to write docs in README ([03326a2](https://github.com/dyte-in/docs/commit/03326a2bc4846764fce51eb12e88b799724ad8b5)) -* **dx:** add linting: react, prettier ([70c4e3b](https://github.com/dyte-in/docs/commit/70c4e3b6b5396411ac0ef85402f6958705a5d5d6)) -* enable dropdown in mobile sidebar, add shadow to showcase ([135377f](https://github.com/dyte-in/docs/commit/135377f359c472209ec6957ec02bfb27c2258e56)) -* enable search ([f2a5496](https://github.com/dyte-in/docs/commit/f2a549605e13cb53b1e66bc4f5b1d88cab45014c)) -* **flutter:** version 0.5.x docs ([cdda32d](https://github.com/dyte-in/docs/commit/cdda32d35387656bae08794edd976b6d05b24514)) -* **iframe:** add doc for handling meetingEnded ([65ed129](https://github.com/dyte-in/docs/commit/65ed1297243243940fb236bb72df11c18eeea41a)) -* mobile sidebar added ([7af1266](https://github.com/dyte-in/docs/commit/7af12668995b427d4e4fac1d4a1dd44de0d3c17b)) -* **mobile-sdks:** added localMediaConnected docs ([e09016d](https://github.com/dyte-in/docs/commit/e09016dda87e2f222cc653ebfa5f19501320e695)) -* **mobile-sdk:** Updated sdk to latest versions ([fc205e7](https://github.com/dyte-in/docs/commit/fc205e71aa158d333c3700af8e02158058826aad)) -* new design (header, footer, sidebar, context switcher) ([82ec9b9](https://github.com/dyte-in/docs/commit/82ec9b90d07240258184cc3cdd7f1db2bfcc3cfd)) -* new sidebar minimize ui, other ui updates ([3226b1a](https://github.com/dyte-in/docs/commit/3226b1a3885405bb58172d4add7d859c8d013c7d)) -* now using Inter font ([5de8e0f](https://github.com/dyte-in/docs/commit/5de8e0f485f8bf89c047f4d495f14c35e48a1820)) -* polish ([653d033](https://github.com/dyte-in/docs/commit/653d03311ccf448db136ef50b4023a435e3cf2d5)) -* **release:** setup husky, semantic-release, commitlint, commitizen, jest ([d9895b2](https://github.com/dyte-in/docs/commit/d9895b257af32bdef7205168101c9607156f2902)) -* remove blog and add algolia creds ([f5979e9](https://github.com/dyte-in/docs/commit/f5979e93321ae44c8fcf202f4b913e5714246e35)) -* **rn:** update docs for 0.3.0, 0.4.0 ([6f54d1e](https://github.com/dyte-in/docs/commit/6f54d1e58abe640cfadf16629a5c30312cd1bf42)) -* **rn:** update to 13.x, add label docs ([c4026e6](https://github.com/dyte-in/docs/commit/c4026e6826013001f39dd6c9f2b543094960ef61)) -* set dark mode as default ([d865a55](https://github.com/dyte-in/docs/commit/d865a5580e86396f8918b5d9ec4a9a8d4d6f0a6c)) -* **ui:** added dot-after utility for adding a dot after an element ([b05ffb5](https://github.com/dyte-in/docs/commit/b05ffb5e4fa0a9f5b6fd59e03faff93880bd8b5c)) -* update api v1 with webhook `enabled` field ([d629b40](https://github.com/dyte-in/docs/commit/d629b4086ba554a8f2d1a82ad2771488fd8beadf)) -* update docs according to release and version number ([f920f4f](https://github.com/dyte-in/docs/commit/f920f4f9a21f8f7fa858daed480c90f5c03e6c79)) -* update sidebar design ([39afd2e](https://github.com/dyte-in/docs/commit/39afd2ee2444c32357724b5b0258b3100d3659cb)) -* upgrade `tailwindcss` to `3.0.19` ([c149cf4](https://github.com/dyte-in/docs/commit/c149cf439eafd981f9217abf4b8f8562a36e250e)) -* use `groupId` to group `Tabs` selections ([505b407](https://github.com/dyte-in/docs/commit/505b4073cbf2312c1e7b48b5382daadbaf2671d1)) -* version updates ([ba45601](https://github.com/dyte-in/docs/commit/ba45601efec496b8af94750d280da2011eee807b)) -* **web:** i18n support ([34386bf](https://github.com/dyte-in/docs/commit/34386bf1cb3fdb21d379125d1bf055a75cc6590f)) -* **websdk:** update to 0.19.x ([be85687](https://github.com/dyte-in/docs/commit/be8568779519dfb64cba64657a05458e324f8017)) +# Changelog diff --git a/docs/about/BaseMethods.table.js b/docs/about/BaseMethods.table.js index 05d6edea..e9b643a1 100644 --- a/docs/about/BaseMethods.table.js +++ b/docs/about/BaseMethods.table.js @@ -261,23 +261,18 @@ export const basemethods_articles = [ // ---------------------------------------------------------------------------- export const basemethods_columns = [ { - Header: "Module", - accessor: "title", + header: "Module", + accessorKey: "title", className: "pester-data-table left", - // Cell: ({ cell: { value }, row: { original } }) => ( - // - // {value} - // - // ), }, { - Header: "Comment", - accessor: "comment", + header: "Comment", + accessorKey: "comment", className: "pester-data-table left", }, { - Header: "Category", - accessor: "category", + header: "Category", + accessorKey: "category", className: "pester-data-table", }, ]; diff --git a/docs/about/BaseType.table.js b/docs/about/BaseType.table.js index 953b2f4f..d6a0fee8 100644 --- a/docs/about/BaseType.table.js +++ b/docs/about/BaseType.table.js @@ -311,23 +311,18 @@ export const basetype_articles = [ // ---------------------------------------------------------------------------- export const basetype_columns = [ { - Header: "Data-type", - accessor: "title", + header: "Data-type", + accessorKey: "title", className: "pester-data-table left", - // Cell: ({ cell: { value }, row: { original } }) => ( - // - // {value} - // - // ), }, { - Header: "Summary", - accessor: "comment", + header: "Summary", + accessorKey: "comment", className: "pester-data-table left", }, { - Header: "Category", - accessor: "category", + header: "Category", + accessorKey: "category", className: "pester-data-table", }, ]; diff --git a/docs/about/easifemBase.md b/docs/about/easifemBase.md index b06cbe0c..7b7a2065 100644 --- a/docs/about/easifemBase.md +++ b/docs/about/easifemBase.md @@ -59,8 +59,6 @@ The `easifemBase` library exposes three main modules. The structure of source directory is shown in the following figure. - - import EasifemBaseDesign from '@site/static/img/svg/easifem-base-design.svg'; ; diff --git a/docs/about/easifemClasses.table.js b/docs/about/easifemClasses.table.js index 60dfb1ff..73ddea30 100644 --- a/docs/about/easifemClasses.table.js +++ b/docs/about/easifemClasses.table.js @@ -186,23 +186,18 @@ export const easifemClasses_articles = [ // ---------------------------------------------------------------------------- export const easifemClasses_columns = [ { - Header: "Module", - accessor: "title", + header: "Module", + accessorKey: "title", className: "pester-data-table left", - // Cell: ({ cell: { value }, row: { original } }) => ( - // - // {value} - // - // ), }, { - Header: "Comment", - accessor: "comment", + header: "Comment", + accessorKey: "comment", className: "pester-data-table left", }, { - Header: "Category", - accessor: "category", + header: "Category", + accessorKey: "category", className: "pester-data-table", }, ]; diff --git a/docs/about/index.md b/docs/about/index.md index 9bfcf344..52b805bd 100644 --- a/docs/about/index.md +++ b/docs/about/index.md @@ -27,7 +27,7 @@ Currently, EASIFEM focuses on finite element methods. Eventually, the library wi ![easifem structure](/img/what-is-easifem.svg) -EASIFEM consists following three hierarchical components: +Easifem consists following three hierarchical components: - **Base** `libeasifemBase` - **Classes** `libeasifemClasses` @@ -41,21 +41,6 @@ EASIFEM consists following three hierarchical components: Currently, `easifemBase` has interface with `BLAS95`, `Lapack95`, `Sparsekit`, `Metis`, `PlPlot`, `SuperLU`, `ARPACK`, etc. ::: -import Link from '@docusaurus/Link'; - -
-
-
- Get Started with easifemBase -
-
-
-
- Get Started with easifem -
-
-
- ## Classes `easifemClasses` (hereafter, read as the Classes) defines high-level derived types such as domain, mesh, fields, linear solvers, etc. Classes are primarily based on [object-oriented programming](https://en.wikipedia.org/wiki/Object-oriented_programming). Most of the functionality of Classes comes from the Base. In other words, most of the computation is deployed to the Base library. This approach improves flexibility at the cost of reducing some speed. @@ -63,19 +48,6 @@ import Link from '@docusaurus/Link'; Currently, `easifemBase` has interface with `HDF5`, `Gmsh`, `PlPlot`, `GTK4`, `PETsc`, `Matplotlib`, `Python`, `Lua`, etc. In the future, we will add interfaces to many other useful FORTRAN and C libraries. ::: -
-
-
- Get Started with easifemClasses -
-
-
-
- Get Started with easifem -
-
-
- ## Kernels `easifemKernels` (henceforth, read as Kernels) contains physics simulators. For example, we have: @@ -93,30 +65,17 @@ Currently, `easifemBase` has interface with `HDF5`, `Gmsh`, `PlPlot`, `GTK4`, `P - Incompressible and Isothermal Navier-Stokes Flow - Space-Time Finite element methods -
-
-
- Get Started with easifemClasses -
-
-
-
- Get Started with easifem -
-
-
- ## Programming paradigm -EASIFEM manly follows two types of programming paradigm: +Easifem manly follows two types of programming paradigm: - Object-oriented-programming (OOP) - Multi-dispatch programming. ## System requirements -Before installing the EASIFEM, please make sure your system is up-to-date and have requirements mentioned [here.](./SystemRequirements.md) +Before installing the Easifem, please make sure your system is up-to-date and have requirements mentioned [here.](./SystemRequirements.md) ## External packages -Before installing the EASIFEM, make sure to install the external packages on your system by following the details given [here.](./SystemRequirements.md) +Before installing the Easifem, make sure to install the external packages on your system by following the details given [here.](./SystemRequirements.md) diff --git a/docs/blog/authors.yml b/docs/blog/authors.yml new file mode 100644 index 00000000..beb0d6a4 --- /dev/null +++ b/docs/blog/authors.yml @@ -0,0 +1,16 @@ +vickysharma0812: + name: Vikas Sharma + title: Assistant Professor, Kyoto University, Japan + url: https://github.com/vickysharma0812 + image_url: https://raw.githubusercontent.com/easifem/authors/refs/heads/main/images/vickysharma0812.jpg + socials: + x: vickysharma0812 + github: vickysharma0812 + +shishiousan: + name: Shion Shimizu + title: Doctoral Student, Kyoto University, Japan + url: https://github.com/shishiousan + image_url: https://raw.githubusercontent.com/easifem/authors/refs/heads/main/images/shishiousan.jpg + socials: + github: shishiousan diff --git a/docs/blog/how-to-setup-a-new-kernel-in-easifem.md b/docs/blog/how-to-setup-a-new-kernel-in-easifem.md new file mode 100644 index 00000000..f19af92b --- /dev/null +++ b/docs/blog/how-to-setup-a-new-kernel-in-easifem.md @@ -0,0 +1,705 @@ +--- +title: Setting up a new kernel using EASIFEM +description: This post provides definition of Kernel in EASIFEM and provides a step by step guide to create a new kernel. +authors: + - vickysharma0812 + - shishiousan +tags: [kernel, guide, tutorial] +hide_table_of_contents: false +--- + +# Setting up a new kernel using EASIFEM + +This post explains the meaning of kernel in EASIFEM platform. It also describe the steps to create a new kernel in EASIFEM. + +## What is a kernel? + +A kernel is a computer program written in object oriented programming paradigm which attempts to solve a partial differential equation. In easifem, the term kernel is used for solving a particular PDE. + +:::note Why particular PDE? +In our experience when we focus on solving a particular PDE, we can design the kernel quickly and more efficiently. This is because the kernel has specific tasks to perform with limited number of kernel parameters. We believe that this is a good balance between flexibility, efficiency and speed of development. In the past, we have tried to create a generic PDE solver type kernel but after few years the kernel became too complex and difficult to maintain by a group of developers. Therefore, we want to define a kernel for a specific PDE. +::: + +:::info Is kernel flexible? +Yes, the kernel has sufficient amount of flexibility. For example, the coefficient of PDE can be constant, spatially changing or time dependent. The boundary condition can also be constant, space, time, or space-time dependent. +::: + +:::tip Kernel is blend of procedural programming and object oriented programming? +A kernel is a blend of procedural programming and object oriented programming. The procedural programming comes into the picture because a kernel is trying to solve a specific PDE by using a specific method. In this sense, the kernel's design is driven keeping procedure programming in mind. However, a kernel can solve several problems governed by the same PDE. These problems can have different types of boundary conditions and material properties. Also, we can use several numerical methods to solve the problem. In order to facilitate these objectives, we use object oriented programming. +::: + + + +## Git ignore file + +Add the following `.gitignore` file in the root directory of your kernel. This will help you to ignore the unnecessary files which are not required for the kernel. + +
+Git ignore file for EASIFEM projects +
+ +```bash +*.a +*.mod +*.smod +*.o +*.out +*.i90 +*.if90 +*.DS_Store +*.prj +*.drawio +*.log +*.eps +*.h5 +*.gp +*.msh +*.vtu +*.ipynb +*.dat +*.mtx +*.eps +*.pdf +*.geo +*.ps +*.png +*.jpg +*.plt +*.csv + +*/build/ +**/build +build/ + +_packages/ +__* + +log.txt +test.txt + +## Obsidian related +.obsidian + +# VSCode related +vscode-settings +.vscode/ +settings.json + +## Docusaurus related + +# Logs +logs +*.log +npm-debug.log* +yarn-debug.log* +yarn-error.log* +lerna-debug.log* +.pnpm-debug.log* + +# Diagnostic reports (https://nodejs.org/api/report.html) +report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json + +# Runtime data +pids +*.pid +*.seed +*.pid.lock + +# Directory for instrumented libs generated by jscoverage/JSCover +lib-cov + +# Coverage directory used by tools like istanbul +coverage +*.lcov + +# nyc test coverage +.nyc_output + +# Grunt intermediate storage (https://gruntjs.com/creating-plugins#storing-task-files) +.grunt + +# Bower dependency directory (https://bower.io/) +bower_components + +# node-waf configuration +.lock-wscript + +# Compiled binary addons (https://nodejs.org/api/addons.html) +build/Release + +# Dependency directories +node_modules/ +jspm_packages/ + +# Snowpack dependency directory (https://snowpack.dev/) +web_modules/ + +# TypeScript cache +*.tsbuildinfo + +# Optional npm cache directory +.npm + +# Optional eslint cache +.eslintcache + +# Optional stylelint cache +.stylelintcache + +# Microbundle cache +.rpt2_cache/ +.rts2_cache_cjs/ +.rts2_cache_es/ +.rts2_cache_umd/ + +# Optional REPL history +.node_repl_history + +# Output of 'npm pack' +*.tgz + +# Yarn Integrity file +.yarn-integrity + +# dotenv environment variable files +.env +.env.development.local +.env.test.local +.env.production.local +.env.local + +# parcel-bundler cache (https://parceljs.org/) +.cache +.parcel-cache + +# Next.js build output +.next +out + +# Nuxt.js build / generate output +.nuxt +dist + +# Gatsby files +.cache/ +# Comment in the public line in if your project uses Gatsby and not Next.js +# https://nextjs.org/blog/next-9-1#public-directory-support +# public + +# vuepress build output +.vuepress/dist + +# vuepress v2.x temp and cache directory +.temp +.cache + +# Docusaurus cache and generated files +.docusaurus + +# Serverless directories +.serverless/ + +# FuseBox cache +.fusebox/ + +# DynamoDB Local files +.dynamodb/ + +# TernJS port file +.tern-port + +# Stores VSCode versions used for testing VSCode extensions +.vscode-test + +# yarn v2 +.yarn/cache +.yarn/unplugged +.yarn/build-state.yml +.yarn/install-state.gz +.pnp.* + +.DS_Store +.$* + +~* +``` + +
+
+ +## Directory structure + +Create following directory in the root directory of your kernel. + +1. src: This directory will contain the source code of your kernel. +2. docs: This directory will contain the documentation of your kernel. +3. tests: This directory will contain the test code of your kernel. +4. examples: This directory will contain the example code and tutorials of your kernel. +5. cmake: This directory will contain the cmake files necessary to build your kernel. +6. docker: This directory will contain the docker files. +7. bin: This directory will contain the binary files of application based on your kernel +8. media: This directory will contain the figures and images used for the documentation +9. pages: This directory will contain the pages for documentation by using ford. + +## Structure of `src` directory + +The `src` directory will contain the following directories and files. + +- `modules`: This directory contains the header files of the kernel. These header files are called modules. +- `submodules`: This directory contains the `submodules` of the kernel. These `submodules` are contains the implementation of the header files. + +Let us say you want to develop a class called `Abstract1DUVSTFEM_` (note that all user defined data types end with an underscore). Then you should create a directory called `Abstract1DUVSTFEM` in the `src/modules` directory. + +Now in `Abstract1DUVSTFEM` directory create another directory called `src` which will contain the header file. In this source directory you will create `Abstract1DUVSTFEM_Class.F90`. + +In `Abstract1DUVSTFEM` directory create a file called `CMakeLists.txt`. The content of this is given below. + +```cmake title="modules/Abstract1DUVSTFEM/CMakeLists.txt" +set(src_path "${CMAKE_CURRENT_LIST_DIR}/src/") +target_sources(${PROJECT_NAME} PRIVATE ${src_path}/Abstract1DUVSTFEM_Class.F90) +``` + +If you follow the above steps the src directory will look like the following. + +```bash +src +├── modules +│   └── Abstract1DUVSTFEM +│   ├── CMakeLists.txt +│   └── src +│   └── Abstract1DUVSTFEM_Class.F90 +└── submodules +``` + +Now we will implement the methods defined in `Abstract1DUVSTFEM_Class.F90` in the `src/submodules` directory. Create a directory called `Abstract1DUVSTFEM` in the `src/submodules` directory. In this directory create a file called `CMakeLists.txt`. In this directory create a directory called `src` which will contain the submodules of module `Abstract1DUVSTFEM_Class`. The structure of the directory will look like this. + +The content of `CMakeLists.txt` file will be as follows. + +```cmake title="submodules/Abstract1DUVSTFEM/CMakeLists.txt" +set(src_path "${CMAKE_CURRENT_LIST_DIR}/src/") +target_sources( + ${PROJECT_NAME} + PRIVATE ${src_path}/Abstract1DUVSTFEM_Class@ApplyDirichletBCMethods.F90 +``` + +```bash +src +├── modules +│   └── Abstract1DUVSTFEM +│   ├── CMakeLists.txt +│   └── src +│   └── Abstract1DUVSTFEM_Class.F90 +└── submodules + ├── Abstract1DUVSTFEM + │   └── src + │   ├── Abstract1DUVSTFEM_Class@ApplyDirichletBCMethods.F90 + └── CMakeLists.txt +``` + +## Module and Submodule CMake file + +In `modules` and `submodules` directory create a file called `CMakeLists.txt`. The CMake file will look like this. + +```cmake title="modules/CMakeLists.txt" +# AbstractSTFEM +include(${CMAKE_CURRENT_LIST_DIR}/Abstract1DUVSTFEM/CMakeLists.txt) +``` + +```cmake title="submodules/CMakeLists.txt" +# AbstractSTFEM +include(${CMAKE_CURRENT_LIST_DIR}/Abstract1DUVSTFEM/CMakeLists.txt) +``` + +Now the structure of the `src` directory will look like this. + +```bash +src +├── modules +│   ├── Abstract1DUVSTFEM +│   │   ├── CMakeLists.txt +│   │   └── src +│   │   └── Abstract1DUVSTFEM_Class.F90 +│   └── CMakeLists.txt +└── submodules + ├── Abstract1DUVSTFEM + │   ├── CMakeLists.txt + │   └── src + │   ├── Abstract1DUVSTFEM_Class@ApplyDirichletBCMethods.F90 + ├── CMakeLists.txt +``` + +Now we need to write the main `CMakeLists.txt` file in the root of our project. That is, the parent directory of `src` directory. We will describe the content of this file in another blog post. + +
+Click here to see the content +
+ +```cmake title="CMakeLists.txt" +cmake_minimum_required(VERSION 3.20.0 FATAL_ERROR) +set(PROJECT_NAME "easifemOneDimElasticity") +project(${PROJECT_NAME}) + +enable_language(Fortran C CXX) + +set(VERSION_MAJOR "25") +set(VERSION_MINOR "04") +set(VERSION_BugFix "1") +set(PROJECT_VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_BugFix}) + +set(CMAKE_PROJECT_DESCRIPTION + "${PROJECT_NAME} is part of EASIFEM platform. + EASIFEM: Expandable and Scalable Infrastructure for Finite Element Methods. + This program solves one dimensional wave propogation problems using finite element + methods including space-time finite element methods. + ") + +set(CMAKE_PROJECT_HOMEPAGE_URL "https://www.easifem.com") + +set(TARGETS_EXPORT_NAME "${PROJECT_NAME}Targets") +set(namespace "${PROJECT_NAME}") + +include(CMakePrintHelpers) +include(FortranCInterface) + +FortranCInterface_VERIFY() + +list(APPEND TARGET_COMPILE_DEF "-DUSE_CMAKE") + +# find my cmake modules here... +list(APPEND CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Modules) + +# check error +if(" ${CMAKE_CURRENT_SOURCE_DIR}" STREQUAL " ${CMAKE_CURRENT_BINARY_DIR}") + message( + FATAL_ERROR + "[ERROR] :: Build directory and Source directory cannot be same.") +endif() + +# make directories include(${PROJECT_SOURCE_DIR}/cmake/makeDirs.cmake) +# +include(GNUInstallDirs) + +set(CMAKE_Fortran_MODULE_DIRECTORY + ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_INCLUDEDIR}) + +set(CMAKE_LIBRARY_OUTPUT_DIRECTORY + ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) + +set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY + ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}) + +set(CMAKE_RUNTIME_OUTPUT_DIRECTORY + ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}) + +set(INSTALL_LIBDIR + ${CMAKE_INSTALL_LIBDIR} + CACHE PATH "Installation location of lib") + +set(INSTALL_INCLUDEDIR + ${CMAKE_INSTALL_INCLUDEDIR} + CACHE PATH "Installation location of module files") + +set(INSTALL_BINDIR + ${CMAKE_INSTALL_BINDIR} + CACHE PATH "Installation location of binary files") + +if(WIN32 AND NOT CYGWIN) + set(DEF_INSTALL_CMAKEDIR CMake) +else() + set(DEF_INSTALL_CMAKEDIR share/cmake/${PROJECT_NAME}) +endif() + +set(INSTALL_CMAKEDIR + ${DEF_INSTALL_CMAKEDIR} + CACHE PATH "Installation directory for CMake files") + +foreach(p LIB BIN INCLUDE CMAKE) + file(TO_NATIVE_PATH ${CMAKE_INSTALL_PREFIX}/${INSTALL_${p}DIR} _path) + message(STATUS "Installing ${p} componenets to ${_path}") +endforeach() + +option(BUILD_SHARED_LIBS "Build shared library" ON) + +if(BUILD_SHARED_LIBS) + message(STATUS "${PROJECT_NAME} will be built as a shared library.") + add_library(${PROJECT_NAME} SHARED "") + set_property(TARGET ${PROJECT_NAME} PROPERTY POSITION_INDEPENDENT_CODE TRUE) +else() + message(STATUS "${PROJECT_NAME} will be built as a static library.") + add_library(${PROJECT_NAME} STATIC "") +endif() + +message( + STATUS + "[INFO] :: Is the Fortran compiler loaded? ${CMAKE_Fortran_COMPILER_LOADED}" +) + +if(CMAKE_Fortran_COMPILER_LOADED) + message(STATUS "[INFO] :: Fortran compiler: ${CMAKE_Fortran_COMPILER_ID}") + message( + STATUS + "[INFO] :: Fortran compiler version is: ${CMAKE_Fortran_COMPILER_VERSION}" + ) +endif() + +if(NOT CMAKE_BUILD_TYPE) + set(CMAKE_BUILD_TYPE + Release + CACHE STRING "Build type" FORCE) +endif() + +if(${CMAKE_Fortran_COMPILER_ID} STREQUAL "GNU" OR Fortran_COMPILER_NAME MATCHES + "gfortran*") + + list( + APPEND + FORTRAN_FLAGS + "-ffree-form" + "-ffree-line-length-none" + "-std=f2018" + "-fimplicit-none" + "-fno-range-check") + + list(APPEND FORTRAN_FLAGS_RELEASE "-O3") + + if(APPLE) + list( + APPEND + FORTRAN_FLAGS_DEBUG + "-fbounds-check" + "-g" + "-fbacktrace" + "-Wextra" + "-Wall" + # "-fprofile-arcs" + "-ftest-coverage" + "-Wimplicit-interface") + + else() + list( + APPEND + FORTRAN_FLAGS_DEBUG + "-fbounds-check" + "-g" + "-fbacktrace" + "-Wextra" + "-Wall" + # "-fprofile-arcs" + "-ftest-coverage" + "-Wimplicit-interface") + endif() + +elseif(${CMAKE_Fortran_COMPILER_ID} STREQUAL "Intel" OR Fortran_COMPILER_NAME + MATCHES "ifort*") + list(APPEND FORTRAN_FLAGS "-r8" "-W1") + list(APPEND FORTRAN_FLAGS_RELEASE "-O3") + list( + APPEND + FORTRAN_FLAGS_DEBUG + "-O0" + "-traceback" + "-g" + "-debug all" + "-check all" + "-ftrapuv" + "-warn" + "nointerfaces") + +elseif(${CMAKE_Fortran_COMPILER_ID} STREQUAL "XL" OR Fortran_COMPILER_NAME + MATCHES "xlf*") + + list(APPEND FORTRAN_FLAGS "-q64" "-qrealsize=8" "-qsuffix=f=f90:cpp=f90") + list(APPEND FORTRAN_FLAGS_RELEASE "-O3" "-qstrict") + list(APPEND FORTRAN_FLAGS_DEBUG "-O0" "-g" "-qfullpath" "-qkeepparm") + +else() + message(ERROR "[ERROR] :: No optimized Fortran compiler flags are known") +endif() + +cmake_print_variables(FORTRAN_FLAGS) +cmake_print_variables(FORTRAN_FLAGS_RELEASE) +cmake_print_variables(FORTRAN_FLAGS_DEBUG) + +# include(${PROJECT_SOURCE_DIR}/cmake/targetCompileOpts.cmake) +target_compile_options( + ${PROJECT_NAME} + PRIVATE ${TARGET_COMPILE_OPT} ${FORTRAN_FLAGS} + "$<$:${FORTRAN_FLAGS_DEBUG}>" + "$<$:${FORTRAN_FLAGS_RELEASE}>") + +# include(${PROJECT_SOURCE_DIR}/cmake/targetIncludeDirs.cmake) +target_include_directories( + ${PROJECT_NAME} PUBLIC $ + $) + +# include(${PROJECT_SOURCE_DIR}/cmake/targetProperties.cmake) target properties +set_target_properties( + ${PROJECT_NAME} + PROPERTIES POSITION_INDEPENDENT_CODE 1 + SOVERSION ${VERSION_MAJOR} + OUTPUT_NAME ${PROJECT_NAME} + LIBRARY_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} + ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_LIBRARY_OUTPUT_DIRECTORY} + RUNTIME_OUTPUT_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} + MACOSX_RPATH ON + WINDOWS_EXPORT_ALL_SYMBOLS ON) + +# include(${PROJECT_SOURCE_DIR}/cmake/targetCompileDefs.cmake) +option(USE_REAL32 OFF) +option(USE_REAL64 ON) + +if(USE_REAL32) + list(APPEND TARGET_COMPILE_DEF "-DUSE_Real32") +endif() + +if(USE_REAL64) + list(APPEND TARGET_COMPILE_DEF "-DUSE_Real64") +endif() + +option(USE_INT32 ON) +if(USE_INT32) + list(APPEND TARGET_COMPILE_DEF "-DUSE_Int32") +endif() + +option(USE_INT64 OFF) +if(USE_INT64) + list(APPEND TARGET_COMPILE_DEF "-DUSE_Int64") +endif() + +list(APPEND TARGET_COMPILE_DEF "-D${CMAKE_HOST_SYSTEM_NAME}_SYSTEM") + +# DEFINE DEBUG +if(${CMAKE_BUILD_TYPE} STREQUAL "Debug") + list(APPEND TARGET_COMPILE_DEF "-DDEBUG_VER") +endif() + +# include(${PROJECT_SOURCE_DIR}/cmake/install.cmake) Installation +install( + DIRECTORY ${CMAKE_Fortran_MODULE_DIRECTORY} + DESTINATION "./" + COMPONENT "${PROJECT_NAME}") + +install( + EXPORT ${TARGETS_EXPORT_NAME} + FILE "${TARGETS_EXPORT_NAME}.cmake" + NAMESPACE ${namespace}:: + DESTINATION ${INSTALL_CMAKEDIR} + COMPONENT "${PROJECT_NAME}") + +include(CMakePackageConfigHelpers) + +write_basic_package_version_file( + "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake" + VERSION "${PROJECT_VERSION}" + COMPATIBILITY AnyNewerVersion) + +configure_package_config_file( + ${CMAKE_CURRENT_SOURCE_DIR}/cmake/Config.cmake.in + ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake + INSTALL_DESTINATION ${INSTALL_CMAKEDIR} + PATH_VARS INSTALL_INCLUDEDIR) + +install( + FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" + "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake" + DESTINATION ${INSTALL_CMAKEDIR} + COMPONENT "${PROJECT_NAME}-dev") + +# linking easifemClasses, +# this easifemClasses library is already linked with easifemBase +# so no need to link with easifemBase again. +find_package(easifemClasses REQUIRED) +if(easifemBase_FOUND) + message(STATUS "FOUND easifemClasses") +else() + message(ERROR "NOT FOUND easifemClasses") +endif() +target_link_libraries(${PROJECT_NAME} PUBLIC easifemClasses::easifemClasses) + +# Add source files +include(src/modules/CMakeLists.txt) +include(src/submodules/CMakeLists.txt) + +# this should be in the end. +target_compile_definitions(${PROJECT_NAME} PUBLIC ${TARGET_COMPILE_DEF}) +message(STATUS "[INFO] :: Compiler definition : ${TARGET_COMPILE_DEF}") + +install( + TARGETS ${PROJECT_NAME} ${C_PROJECTS} + EXPORT ${TARGETS_EXPORT_NAME} + COMPONENT "${PROJECT_NAME}" + ARCHIVE DESTINATION ${INSTALL_LIBDIR} + RUNTIME DESTINATION ${INSTALL_BINDIR} + LIBRARY DESTINATION ${INSTALL_LIBDIR}) + +# include(${PROJECT_SOURCE_DIR}/cmake/packaging.cmake) +``` + +
+
+ +The above see make file needs `Config.cmake.in` file. The content of this file is given below. + +```cmake title="Config.cmake.in" +@PACKAGE_INIT@ + +FIND_PACKAGE(easifemClasses REQUIRED) + +set_and_check( + "@PROJECT_NAME@_INCLUDE_DIR" "@PACKAGE_INSTALL_INCLUDEDIR@") + +include( + "${CMAKE_CURRENT_LIST_DIR}/@TARGETS_EXPORT_NAME@.cmake") + +check_required_components( + "@PROJECT_NAME@" + ) +``` + +## Configuration for easifem CLI. + +Now that we have added the source code and setup the CMake files. We need to specify the toml configuration files for the kernel, so that we can build and install easifemOneDimElasticity kernel using easifem CLI. To do so, create a file called `oneDimElasticity.toml` in the directory where easifem plugins are kept. In our case it is kept at `~/.config/easifem/plugins/oneDimElasticity.toml`. The content of this file is given below. + +```toml title="oneDimElasticity.toml" +name = "oneDimElasticity" +isActive = true +buildSystem = "cmake" +git = 'github.com/easifem/oneDimElasticity.git' +sourceDir = "${HOME}/Dropbox/easifem/oneDimElasticity" +installDir= "${HOME}/.easifem/install/oneDimElasticity/" +buildType = "Debug" +buildSharedLibs = true +buildStaticLibs = true +libName = "easifemOneDimElasticity" +targetName = "easifemOneDimElasticity" +projectName = "easifemOneDimElasticity" + +runtest = true +license = "GPL3" +# buildOptions = [ "-D USE_GMSH_SDK:BOOL=ON"] + +dependencies = ["classes"] +``` + +## Building the kernel by using easifem CLI + +To build the kernel using easifem CLI, run the following command. + +```bash +easifem dev oneDimElasticity +``` + +## Installing the kernel by using easifem CLI + +To install the kernel using easifem CLI, run the following command. + +```bash +easifem install oneDimElasticity +``` + +To install the kernel with downloading the files from git, that is, by using the local source files, use the following command. In this case you must specify the sourceDir option in the above toml file. + +```bash +easifem install oneDimElasticity --no-download +``` + diff --git a/docs/docs-api/ARPACK/SSAUPD.md b/docs/docs-api/ARPACK/SSAUPD.md index b275872c..7d360caf 100644 --- a/docs/docs-api/ARPACK/SSAUPD.md +++ b/docs/docs-api/ARPACK/SSAUPD.md @@ -95,7 +95,7 @@ $$ \tilde{\lambda} = \frac{1}{\lambda - \sigma} $$ -So, we can use shift and inverted method to find the smallest value of $\lambda$ [See for more information.](#standard-problem-by-using-shift-inverted-mode) +So, we can use shift and inverted method to find the smallest value of $\lambda$. ### Mode 4 (Buckling) diff --git a/docs/docs-api/AbstractBC/SetAbstractBCParam.md b/docs/docs-api/AbstractBC/SetAbstractBCParam.md index ce273a88..440b596f 100644 --- a/docs/docs-api/AbstractBC/SetAbstractBCParam.md +++ b/docs/docs-api/AbstractBC/SetAbstractBCParam.md @@ -42,7 +42,7 @@ END INTERFACE ``` :::info `prefix` -You can get `prefix` by calling [GetPrefix](./GetPrefix) method. +You can get `prefix` by calling [GetPrefix](./GetPrefix.md) method. ::: :::note `idof` @@ -60,7 +60,7 @@ Type of boundary condition. It can take following values: ::: :::note `isUserFunction` -If the boundary condition is specified through [UserFunction](../UserFunction), then it `isUserFunction` should be set to `.TRUE.`. +If the boundary condition is specified through [UserFunction](../UserFunction/UserFunction_.md), then it `isUserFunction` should be set to `.TRUE.`. ::: :::info `isNormal` diff --git a/docs/docs-api/AbstractMesh/AbstractMesh_.md b/docs/docs-api/AbstractMesh/AbstractMesh_.md index e78e047c..a1e43c58 100644 --- a/docs/docs-api/AbstractMesh/AbstractMesh_.md +++ b/docs/docs-api/AbstractMesh/AbstractMesh_.md @@ -18,6 +18,16 @@ This is an abstract class, which will be extended by `Mesh_` and `FEMesh_` class ::: +:::warning +The support for Mesh class is deprecated and will be removed in future. Please use `FEMesh` class instead. In the future Mesh class and FEMesh class will be the same. +::: + +- You can learn about the structure of `FEMesh` [Here](../FEMesh/FEMesh_.md) +- You can learn about the structure of `ElemData` [Here](./ElemData_.md) +- You can learn about the structure of `NodeData` [Here](./NodeData_.md) +- The information of `BoundaryFacetData` is given [Here](./BoundaryFacetData_.md) +- The information of `InternalFacetData` is given [Here](./InternalFacetData_.md) + ## Type definition ```fortran diff --git a/docs/docs-api/FEMesh/BoundaryFacetData_.md b/docs/docs-api/AbstractMesh/BoundaryFacetData_.md similarity index 98% rename from docs/docs-api/FEMesh/BoundaryFacetData_.md rename to docs/docs-api/AbstractMesh/BoundaryFacetData_.md index 8bec6710..5e9b3a2e 100644 --- a/docs/docs-api/FEMesh/BoundaryFacetData_.md +++ b/docs/docs-api/AbstractMesh/BoundaryFacetData_.md @@ -1,6 +1,6 @@ --- title: BoundaryFacetData -sidebar_position: 5 +sidebar_position: 6 --- Data storage for boundary elements (i.e., facets which coincides with the boundary of mesh) diff --git a/docs/docs-api/AbstractMesh/Display.md b/docs/docs-api/AbstractMesh/Display.md new file mode 100644 index 00000000..5a08bc9c --- /dev/null +++ b/docs/docs-api/AbstractMesh/Display.md @@ -0,0 +1,19 @@ +# Display + +Display the mesh on the screen. + +## Interface + +```fortran +INTERFACE AbstractMeshDisplay + MODULE SUBROUTINE obj_Display(obj, msg, unitno) + CLASS(AbstractMesh_), INTENT(INOUT) :: obj + !! mesh object + CHARACTER(*), INTENT(IN) :: msg + !! message on screen + INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno + !! unit number of ouput file + END SUBROUTINE obj_Display +END INTERFACE AbstractMeshDisplay +``` + diff --git a/docs/docs-api/AbstractMesh/DisplayBoundaryFacetData.md b/docs/docs-api/AbstractMesh/DisplayBoundaryFacetData.md new file mode 100644 index 00000000..e5548186 --- /dev/null +++ b/docs/docs-api/AbstractMesh/DisplayBoundaryFacetData.md @@ -0,0 +1,13 @@ +# DisplayBoundaryFacetData + +## Interface + +```fortran +INTERFACE + MODULE SUBROUTINE mesh_DisplayBoundaryFacetData(obj, msg, unitno) + CLASS(Mesh_), INTENT(IN) :: obj + CHARACTER(*), INTENT(IN) :: msg + INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno + END SUBROUTINE mesh_DisplayBoundaryFacetData +END INTERFACE +``` diff --git a/docs/docs-api/AbstractMesh/DisplayElementData.md b/docs/docs-api/AbstractMesh/DisplayElementData.md new file mode 100644 index 00000000..22b7ad6a --- /dev/null +++ b/docs/docs-api/AbstractMesh/DisplayElementData.md @@ -0,0 +1,13 @@ +# DisplayElementData + +## Interface + +```fortran +INTERFACE + MODULE SUBROUTINE mesh_DisplayElementData(obj, msg, unitno) + CLASS(Mesh_), INTENT(IN) :: obj + CHARACTER(*), INTENT(IN) :: msg + INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno + END SUBROUTINE mesh_DisplayElementData +END INTERFACE +``` diff --git a/docs/docs-api/AbstractMesh/DisplayFacetElemSD.md b/docs/docs-api/AbstractMesh/DisplayFacetElemSD.md new file mode 100644 index 00000000..7ebb5a9e --- /dev/null +++ b/docs/docs-api/AbstractMesh/DisplayFacetElemSD.md @@ -0,0 +1,13 @@ +# DisplayFacetElemSD + +## Interface + +```fortran +INTERFACE + MODULE SUBROUTINE mesh_DisplayFacetElements(obj, msg, unitno) + CLASS(Mesh_), INTENT(IN) :: obj + CHARACTER(*), INTENT(IN) :: msg + INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno + END SUBROUTINE mesh_DisplayFacetElements +END INTERFACE +``` diff --git a/docs/docs-api/AbstractMesh/DisplayFacetElements.md b/docs/docs-api/AbstractMesh/DisplayFacetElements.md new file mode 100644 index 00000000..f88e3b4e --- /dev/null +++ b/docs/docs-api/AbstractMesh/DisplayFacetElements.md @@ -0,0 +1,13 @@ +# DisplayFacetElements + +## Interface + +```fortran +INTERFACE + MODULE SUBROUTINE mesh_DisplayFacetElements(obj, msg, unitno) + CLASS(Mesh_), INTENT(IN) :: obj + CHARACTER(*), INTENT(IN) :: msg + INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno + END SUBROUTINE mesh_DisplayFacetElements +END INTERFACE +``` diff --git a/docs/docs-api/AbstractMesh/DisplayInternalFacetData.md b/docs/docs-api/AbstractMesh/DisplayInternalFacetData.md new file mode 100644 index 00000000..f4b66d68 --- /dev/null +++ b/docs/docs-api/AbstractMesh/DisplayInternalFacetData.md @@ -0,0 +1,13 @@ +# DisplayInternalFacetData + +## Interface + +```fortran +INTERFACE + MODULE SUBROUTINE mesh_DisplayInternalFacetData(obj, msg, unitno) + CLASS(Mesh_), INTENT(IN) :: obj + CHARACTER(*), INTENT(IN) :: msg + INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno + END SUBROUTINE mesh_DisplayInternalFacetData +END INTERFACE +``` diff --git a/docs/docs-api/AbstractMesh/DisplayNodeData.md b/docs/docs-api/AbstractMesh/DisplayNodeData.md new file mode 100644 index 00000000..1ea1ab9a --- /dev/null +++ b/docs/docs-api/AbstractMesh/DisplayNodeData.md @@ -0,0 +1,13 @@ +# DisplayNodeData + +## Interface + +```fortran +INTERFACE + MODULE SUBROUTINE mesh_DisplayNodeData(obj, msg, unitno) + CLASS(Mesh_), INTENT(IN) :: obj + CHARACTER(*), INTENT(IN) :: msg + INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno + END SUBROUTINE mesh_DisplayNodeData +END INTERFACE +``` diff --git a/docs/docs-api/AbstractMesh/ElemData_.md b/docs/docs-api/AbstractMesh/ElemData_.md index e008a281..17f623f8 100644 --- a/docs/docs-api/AbstractMesh/ElemData_.md +++ b/docs/docs-api/AbstractMesh/ElemData_.md @@ -8,7 +8,7 @@ sidebar_position: 3 It is a data type for storing the element-data information. -## Type definition +## Structure ```fortran TYPE :: ElemData_ @@ -150,3 +150,824 @@ Here, `pFace` is the local facet number of parent element, (i.e., `globalElem (i - It represents the information about the boundary element. It should be used only when the element is a boundary element. - If an element `iel` is a boundary element, then `boundaryData` contains the local facet numbers of `iel` which coincides with the mesh boundary. It may happen that a boundary element has no boundary face (but only a single boundary node), in this case `boundaryData` will have zero size. + +In addition we have defined `ElemdataPointer_` which is a pointer to `Elemdata_` type. The pointer is defined as follows: + +```fortran +TYPE ElemdataPointer_ + CLASS(Elemdata_), POINTER :: ptr => NULL() +END TYPE ElemdataPointer_ +``` + +## ElemdataType + +The `ElemdataType_` is a derived type which contains the information about the element data. The structure of the `ElemdataType_` is as follows: + +```fortran +TYPE ElemdataType_ + INTEGER(I4B) :: internal = INTERNAL_ELEMENT + INTEGER(I4B) :: boundary = BOUNDARY_ELEMENT + INTEGER(I4B) :: domainBoundary = DOMAIN_BOUNDARY_ELEMENT + INTEGER(I4B) :: ghost = GHOST_ELEMENT +END TYPE ElemdataType_ +``` + +:::info +The `ElemdataType_` is private but you can use its instance called `TypeElem`. For example to get the field `internal` you should use `TypeElem%internal`. +::: + +This module exposes following methods. + +## Elemdata_Copy + +- Copy obj2 to obj1 + +```fortran +SUBROUTINE Elemdata_Copy(obj1, obj2) + TYPE(Elemdata_), INTENT(INOUT) :: obj1 + TYPE(Elemdata_), INTENT(IN) :: obj2 +END SUBROUTINE +``` + +## Elemdata_Display + +- Display the element data information. + +```fortran +SUBROUTINE Elemdata_Display(obj) + TYPE(Elemdata_), INTENT(IN) :: obj +END SUBROUTINE +``` + +## Elemdata_ElemType2String + +- Convert the element type to string. + +```fortran +FUNCTION Elemdata_ElemType2String(elementType) RESULT(ans) + INTEGER(I4B), INTENT(IN) :: elementType + CHARACTER(:), ALLOCATABLE :: ans +END FUNCTION +``` + +## Elemdata_Deallocate + +- Deallocate the element data. + +```fortran +SUBROUTINE Elemdata_Deallocate(obj) + TYPE(Elemdata_), INTENT(INOUT) :: obj +END SUBROUTINE +``` + +## Elemdata_SetTotalMaterial + +- Set the total number of materials. + +```fortran +SUBROUTINE Elemdata_SetTotalMaterial(obj, n) + TYPE(Elemdata_), INTENT(INOUT) :: obj + INTEGER(I4B), INTENT(IN) :: n +END SUBROUTINE +``` + +## Elemdata_Set + +- Set the element data. + +```fortran +PURE SUBROUTINE Elemdata_Set(obj, globalElemNum, localElemNum, & + elementType, globalNodes, globalElements, boundaryData, globalEdges, & + globalFaces, name, topoName, isActive, meshID, medium, material, materials) + ! obj%elementData(ii)%globalElemNum = elemNumber(ii) + ! obj%elementData(ii)%localElemNum = ii + ! obj%elementData(ii)%globalNodes = connectivity(:, ii) + TYPE(Elemdata_), INTENT(INOUT) :: obj + !! element data object + INTEGER(I4B), OPTIONAL, INTENT(IN) :: globalElemNum + !! global element number + INTEGER(I4B), OPTIONAL, INTENT(IN) :: localElemNum + !! local element number + INTEGER(I4B), OPTIONAL, INTENT(IN) :: elementType + !! element type: internal element, boundary element, etc. + INTEGER(I4B), OPTIONAL, INTENT(IN) :: globalNodes(:) + !! vertex connectivity + INTEGER(I4B), OPTIONAL, INTENT(IN) :: globalElements(:) + !! element to element mapping + INTEGER(I4B), OPTIONAL, INTENT(IN) :: boundaryData(:) + !! boundary data + INTEGER(I4B), OPTIONAL, INTENT(IN) :: globalEdges(:) + !! edge connectivity + INTEGER(I4B), OPTIONAL, INTENT(IN) :: globalFaces(:) + !! gace connectivity + INTEGER(I4B), OPTIONAL, INTENT(IN) :: name + !! Type of element, triangle, triangle3, Quadrangle4, etc + INTEGER(I4B), OPTIONAL, INTENT(IN) :: topoName + !! topology name of the element + LOGICAL(LGT), OPTIONAL, INTENT(IN) :: isActive + !! is element active + INTEGER(I4B), OPTIONAL, INTENT(IN) :: meshID + INTEGER(I4B), OPTIONAL, INTENT(IN) :: medium + !! medium id like soil,water, etc + INTEGER(I4B), OPTIONAL, INTENT(IN) :: material + !! material like soil1, soil2, wate1, water2, etc + INTEGER(I4B), OPTIONAL, INTENT(IN) :: materials(:) + !! materials +END SUBROUTINE +``` + +## Elemdata_Pointer + +- Create a pointer to the element data. + +```fortran +FUNCTION Elemdata_Pointer() RESULT(ans) + CLASS(Elemdata_), POINTER :: ans + ALLOCATE (Elemdata_ :: ans) +END FUNCTION Elemdata_Pointer +``` + +## Elemdata_lt + +- Compare two element data objects. Less than operator. + +```fortran +FUNCTION Elemdata_lt(obj, obj2) RESULT(ans) + TYPE(Elemdata_), INTENT(IN) :: obj + TYPE(Elemdata_), INTENT(IN) :: obj2 + LOGICAL(LGT) :: ans + ans = obj%globalElemNum .GT. obj2%globalElemNum +END FUNCTION Elemdata_lt +``` + +## Elemdata_eq + +- Compare two element data objects. Equal operator. + +```fortran +FUNCTION Elemdata_eq(obj, obj2) RESULT(ans) + TYPE(Elemdata_), INTENT(IN) :: obj + TYPE(Elemdata_), INTENT(IN) :: obj2 + LOGICAL(LGT) :: ans + ans = obj%globalElemNum .EQ. obj2%globalElemNum +END FUNCTION Elemdata_eq +``` + +## Elemdata_SetID + +- Set the element ID. + +```fortran +SUBROUTINE Elemdata_SetID(obj, id) + TYPE(Elemdata_), INTENT(INOUT) :: obj + INTEGER(I4B), INTENT(IN) :: id +END SUBROUTINE +``` + +## Elemdata_GetGlobalFaceCon + +- Get the global face connectivity. Returns the vertex connectivity of global face of elements. + +```fortran +SUBROUTINE Elemdata_GetGlobalFaceCon(obj, globalFaceCon, localFaceCon) + TYPE(Elemdata_), INTENT(INOUT) :: obj + INTEGER(I4B), INTENT(INOUT) :: globalFaceCon(:, :) + INTEGER(I4B), OPTIONAL, INTENT(INOUT) :: localFaceCon(:, :) +END SUBROUTINE +``` + +## Elemdata_GetConnectivity + +This subroutine returns the connectivity of the element. +- tsize is the size of data written in con +- con is the connectivity array, it should be allocated +- opt is the type of connectivity, following options are allowed + - "V" or "v" : vertex connectivity + - "E" or "e" : edge connectivity + - "F" or "f" : face connectivity + - "C" or "c" : cell connectivity + - "A" or "a" : all connectivity + +```fortran +SUBROUTINE Elemdata_GetConnectivity(obj, con, tsize, opt) + TYPE(Elemdata_), INTENT(IN) :: obj + INTEGER(I4B), INTENT(INOUT) :: con(:) + INTEGER(I4B), INTENT(OUT) :: tsize + CHARACTER(*), INTENT(IN), OPTIONAL :: opt +END SUBROUTINE +``` + +## Elemdata_GetConnectivity2 + +This subroutine returns the connectivity of the element. + +```fortran +SUBROUTINE Elemdata_GetConnectivity2(obj, cellCon, faceCon, edgeCon, nodeCon, & + tCellCon, tFaceCon, tEdgeCon, tNodeCon) + TYPE(Elemdata_), INTENT(IN) :: obj + INTEGER(I4B), INTENT(INOUT) :: cellCon(:) + !! cell connectivity + INTEGER(I4B), INTENT(INOUT) :: faceCon(:) + !! face connectivity + INTEGER(I4B), INTENT(INOUT) :: edgeCon(:) + !! edge connectivity + INTEGER(I4B), INTENT(INOUT) :: nodeCon(:) + !! node connectivity + INTEGER(I4B), INTENT(OUT) :: tCellCon + !! total data written in cellCon + INTEGER(I4B), INTENT(OUT) :: tFaceCon + !! total data written in faceCon + INTEGER(I4B), INTENT(OUT) :: tEdgeCon + !! total data written in edgeCon + INTEGER(I4B), INTENT(OUT) :: tNodeCon + !! total data written in nodeCon +END SUBROUTINE +``` + +## Elemdata_GetTotalEntities + +This function returns the total number of vertex, edge, face and cell entities in the element. + +```fortran +FUNCTION Elemdata_GetTotalEntities(obj) RESULT(ans) + TYPE(Elemdata_), INTENT(in) :: obj + INTEGER(I4B) :: ans(4) + ans(1) = SIZE(obj%globalNodes) + ans(2) = SIZE(obj%globalEdges) + ans(3) = SIZE(obj%globalFaces) + ans(4) = 1 +END FUNCTION Elemdata_GetTotalEntities +``` + +## Elemdata_GetVertex + +This function returns the global vertex number of a given local vertex number. + +```fortran +FUNCTION Elemdata_GetVertex(obj, ii) RESULT(ans) + TYPE(Elemdata_), INTENT(in) :: obj + INTEGER(I4B), INTENT(in) :: ii + !! local vertex number + INTEGER(I4B) :: ans + !! global vertex number + + ans = obj%globalNodes(ii) +END FUNCTION Elemdata_GetVertex +``` + +## Elemdata_GetEdge + +This function returns the global edge number of a given local edge number. + +```fortran +FUNCTION Elemdata_GetEdge(obj, ii) RESULT(ans) + TYPE(Elemdata_), INTENT(in) :: obj + INTEGER(I4B), INTENT(in) :: ii + !! local edge number + INTEGER(I4B) :: ans + !! global edge number + ans = obj%globalEdges(ii) +END FUNCTION Elemdata_GetEdge +``` + +## Elemdata_GetFace + +This function returns the global face number of a given local face number. + +```fortran +FUNCTION Elemdata_GetFace(obj, ii) RESULT(ans) + TYPE(Elemdata_), INTENT(in) :: obj + INTEGER(I4B), INTENT(in) :: ii + !! local face number + INTEGER(I4B) :: ans + !! global face number + ans = obj%globalFaces(ii) +END FUNCTION Elemdata_GetFace +``` + +## Elemdata_GetCell + +This function returns the global or local cell number of the element. + +```fortran +FUNCTION Elemdata_GetCell(obj, islocal) RESULT(ans) + TYPE(Elemdata_), INTENT(in) :: obj + LOGICAL(LGT), INTENT(in) :: islocal + !! If true then local cell number is returned + INTEGER(I4B) :: ans + !! global or local element number (cell number) + + IF (islocal) THEN + ans = obj%localElemNum + ELSE + ans = obj%globalElemNum + END IF +END FUNCTION Elemdata_GetCell +``` + +## Elemdata_GetTotalEdgeDOF + +This function returns the total number of edge dof on the edge of an element. It does not return the edge dof on the boundary of the element. + +```fortran +FUNCTION Elemdata_GetTotalEdgeDOF(obj, ii, order, baseContinuity, & + baseInterpolation) RESULT(ans) + TYPE(Elemdata_), INTENT(in) :: obj + !! Element data object + INTEGER(I4B), INTENT(IN) :: ii + !! Local edge number + INTEGER(I4B), INTENT(IN) :: order + !! Order on the edge + CHARACTER(*), INTENT(IN) :: baseContinuity + !! base continuity: H1, HDiv, HCurl + CHARACTER(*), INTENT(IN) :: baseInterpolation + !! base interpolation type + INTEGER(I4B) :: ans + !! Total number of dof on edge + ans = MAX(order - 2, 0_I4B) +END FUNCTION Elemdata_GetTotalEdgeDOF +``` + +## Elemdata_GetTotalFaceDOF + + +This function returns the total number of face dofs on the face of an element. +All dofs are internal to face, that is edge and vertex dof are not included. + +```fortran +FUNCTION Elemdata_GetTotalFaceDOF(obj, ii, order, baseContinuity, & + baseInterpolation) RESULT(ans) + TYPE(Elemdata_), INTENT(in) :: obj + !! Element data object + INTEGER(I4B), INTENT(IN) :: ii + !! Local face number + INTEGER(I4B), INTENT(IN) :: order + !! Order on the edge + CHARACTER(*), INTENT(IN) :: baseContinuity + !! base continuity: H1, HDiv, HCurl + CHARACTER(*), INTENT(IN) :: baseInterpolation + !! base interpolation type + INTEGER(I4B) :: ans + !! Total number of dof on edge +END FUNCTION Elemdata_GetTotalFaceDOF +``` + +## Elemdata_GetTotalCellDOF + +This function returns the total number of cell dofs on the cell of an element. All dofs are internal to cell, that is edge and vertex dof are not included. + +```fortran +FUNCTION Elemdata_GetTotalCellDOF(obj, order, baseContinuity, & + baseInterpolation) RESULT(ans) + TYPE(Elemdata_), INTENT(in) :: obj + !! Element data object + INTEGER(I4B), INTENT(IN) :: order + !! Order on the edge + CHARACTER(*), INTENT(IN) :: baseContinuity + !! base continuity: H1, HDiv, HCurl + CHARACTER(*), INTENT(IN) :: baseInterpolation + !! base interpolation type + INTEGER(I4B) :: ans + !! Total number of dof on edge +END FUNCTION Elemdata_GetTotalCellDOF +``` + +## Elemdata_GetElementToElements1 + +This subroutine returns the global element number of elements which surrounds the element. + +```fortran +SUBROUTINE Elemdata_GetElementToElements1(obj, ans, tsize) + TYPE(Elemdata_), INTENT(IN) :: obj + INTEGER(I4B), INTENT(INOUT) :: ans(:) + !! Element to element, it should be allocated by user before calling + INTEGER(I4B), INTENT(OUT) :: tsize + !! The size of data written to ans +END SUBROUTINE Elemdata_GetElementToElements1 +``` + +## Elemdata_GetElementToElements2 + +Get the element to element mapping including the local face number of the element and its neighbor. + +```fortran +SUBROUTINE Elemdata_GetElementToElements2(obj, ans, nrow, ncol, & + includeBoundaryElement) + TYPE(Elemdata_), INTENT(IN) :: obj + INTEGER(I4B), INTENT(INOUT) :: ans(:, :) + !! Element to element, it should be allocated by user before calling + !! each row denotes the information of a neighbor element. + !! Therefore nrow is the total number of neighboring elements + !! number of columns is 3. + !! The first column is global element of the neighbor element + !! The second column is local face number of parent element (this element) + !! The third column is local face number of neighbor element + INTEGER(I4B), INTENT(OUT) :: nrow + !! Number of rows written to ans + INTEGER(I4B), INTENT(OUT) :: ncol + !! Number of columns written to ans + LOGICAL(LGT), OPTIONAL, INTENT(IN) :: includeBoundaryElement + !! If includeBoundaryElement is present and true, + !! then the boundary element data is included in ans + !! In this case the current element is considered as the boundary element + !! ans(nrow, 1) contains the global element number of the current element + !! ans(nrow, 2) contains the boundary data (local face number which coincides with + !! the mesh boundary) + !! ans(nrow, 3) is set to 0 +END SUBROUTINE Elemdata_GetElementToElements2 +``` + +## Elemdata_GetEdgeConnectivity + +Get the connectivity of the local edge. + +```fortran +SUBROUTINE Elemdata_GetEdgeConnectivity(obj, ans, tsize, ii) + TYPE(Elemdata_), INTENT(IN) :: obj + !! Element data object + INTEGER(I4B), INTENT(INOUT) :: ans(:) + !! edge connectivity, node numbers are global + INTEGER(I4B), INTENT(OUT) :: tsize + !! total data written to ans + INTEGER(I4B), INTENT(IN) :: ii + !! Edge number (local) +END SUBROUTINE +``` + +## Elemdata_isActive + +This function return true if the element is active, false otherwise. + +```fortran +PURE FUNCTION Elemdata_isActive(obj) RESULT(ans) + TYPE(Elemdata_), INTENT(IN) :: obj + LOGICAL(LGT) :: ans + ans = obj%isActive +END FUNCTION Elemdata_isActive +``` + +## Elemdata_globalElemNum + +This function returns the global element number of the element. + +```fortran +PURE FUNCTION Elemdata_globalElemNum(obj) RESULT(ans) + TYPE(Elemdata_), INTENT(IN) :: obj + INTEGER(I4B) :: ans + ans = obj%globalElemNum +END FUNCTION Elemdata_globalElemNum +``` + +## Elemdata_localElemNum + +This function returns the local element number of the element. + +```fortran +PURE FUNCTION Elemdata_localElemNum(obj) RESULT(ans) + TYPE(Elemdata_), INTENT(IN) :: obj + INTEGER(I4B) :: ans + ans = obj%localElemNum +END FUNCTION Elemdata_localElemNum +``` + +## Elemdata_name + +This function returns the name of the element. + +```fortran +PURE FUNCTION Elemdata_name(obj) RESULT(ans) + TYPE(Elemdata_), INTENT(IN) :: obj + INTEGER(I4B) :: ans + ans = obj%name +END FUNCTION Elemdata_name +``` + +## Elemdata_topoName + +This function returns the topology name of the element. + +```fortran +PURE FUNCTION Elemdata_topoName(obj) RESULT(ans) + TYPE(Elemdata_), INTENT(IN) :: obj + INTEGER(I4B) :: ans + ans = obj%topoName +END FUNCTION Elemdata_topoName +``` + +## Elemdata_topoIndx + +This function returns the topology index of the element. + +```fortran +PURE FUNCTION Elemdata_topoIndx(obj) RESULT(ans) + TYPE(Elemdata_), INTENT(IN) :: obj + INTEGER(I4B) :: ans + ans = GetElementIndex(obj%topoName) +END FUNCTION Elemdata_topoIndx +``` + +## Elemdata_meshid + +This function returns the mesh id of the element. + +```fortran +PURE FUNCTION Elemdata_meshid(obj) RESULT(ans) + TYPE(Elemdata_), INTENT(IN) :: obj + INTEGER(I4B) :: ans + ans = obj%meshid +END FUNCTION Elemdata_meshid +``` + +## Elemdata_GetTotalMaterial + +This function returns the total number of materials in the element (that is material assigned the element). + +```fortran +PURE FUNCTION Elemdata_GetTotalMaterial(obj) RESULT(ans) + TYPE(Elemdata_), INTENT(IN) :: obj + INTEGER(I4B) :: ans + ans = SIZE(obj%material) +END FUNCTION Elemdata_GetTotalMaterial +``` + +## Elemdata_GetTotalGlobalNodes + +This function returns the total number of global nodes in the element. + +```fortran +PURE FUNCTION Elemdata_GetTotalGlobalNodes(obj) RESULT(ans) + TYPE(Elemdata_), INTENT(IN) :: obj + INTEGER(I4B) :: ans + ans = SIZE(obj%globalNodes) +END FUNCTION Elemdata_GetTotalGlobalNodes +``` + +## Elemdata_GetTotalGlobalEdges + +This function returns the total number of global edges in the element. + +```fortran +PURE FUNCTION Elemdata_GetTotalGlobalEdges(obj) RESULT(ans) + TYPE(Elemdata_), INTENT(IN) :: obj + INTEGER(I4B) :: ans + ans = SIZE(obj%globalEdges) +END FUNCTION Elemdata_GetTotalGlobalEdges +``` + +## Elemdata_GetTotalEdgeOrient + +This function returns the size of edgeOrient array. + +```fortran +PURE FUNCTION Elemdata_GetTotalEdgeOrient(obj) RESULT(ans) + TYPE(Elemdata_), INTENT(IN) :: obj + INTEGER(I4B) :: ans + ans = SIZE(obj%edgeOrient) +END FUNCTION Elemdata_GetTotalEdgeOrient +``` + +## Elemdata_GetTotalGlobalFaces + +This function returns the size of globalFaces array. + +## Elemdata_GetTotalFaceOrient + +This function returns the size of faceOrient array. + +## Elemdata_GetTotalGlobalElements + +This function returns the size of globalElements array. + +## Elemdata_GetTotalBoundaryData + +This function returns the size of boundaryData array. + +## Elemdata_GetMaterial + +This subroutine returns the materials assigned to the element. + +```fortran +PURE SUBROUTINE Elemdata_GetMaterial(obj, ans, tsize) + TYPE(Elemdata_), INTENT(in) :: obj + INTEGER(I4B), INTENT(INOUT) :: ans(:) + INTEGER(I4B), INTENT(OUT) :: tsize +END SUBROUTINE Elemdata_GetMaterial +``` + +## Elemdata_GetGlobalNodes + +This subroutine returns the list of global nodes in the element. + +```fortran +PURE SUBROUTINE Elemdata_GetGlobalNodes(obj, ans, tsize) + TYPE(Elemdata_), INTENT(in) :: obj + INTEGER(I4B), INTENT(INOUT) :: ans(:) + INTEGER(I4B), INTENT(OUT) :: tsize +END SUBROUTINE Elemdata_GetGlobalNodes +``` + +## Elemdata_GetGlobalEdges + +This subroutine returns the list of global edges in the element. + +```fortran +PURE SUBROUTINE Elemdata_GetGlobalEdges(obj, ans, tsize) + TYPE(Elemdata_), INTENT(in) :: obj + INTEGER(I4B), INTENT(INOUT) :: ans(:) + INTEGER(I4B), INTENT(OUT) :: tsize +END SUBROUTINE Elemdata_GetGlobalEdges +``` + +## Elemdata_GetGlobalFaces + +This subroutine returns the list of global faces in the element. + +```fortran +PURE SUBROUTINE Elemdata_GetGlobalFaces(obj, ans, tsize) + TYPE(Elemdata_), INTENT(in) :: obj + INTEGER(I4B), INTENT(INOUT) :: ans(:) + INTEGER(I4B), INTENT(OUT) :: tsize +END SUBROUTINE Elemdata_GetGlobalFaces +``` + +## Elemdata_GetGlobalFaceNumber + +This function returns the global face number from a local face number. + +```fortran +PURE FUNCTION Elemdata_GetGlobalFaceNumber(obj, localFaceNumber) RESULT(ans) + TYPE(Elemdata_), INTENT(IN) :: obj + INTEGER(I4B), INTENT(IN) :: localFaceNumber + !! local face number + INTEGER(I4B) :: ans + !! global face number +END FUNCTION Elemdata_GetGlobalFaceNumber +``` + +## Elemdata_GetGlobalEdgeNumber + +This function returns the global edge number from a local edge number. + +```fortran +PURE FUNCTION Elemdata_GetGlobalEdgeNumber(obj, localEdgeNumber) RESULT(ans) + TYPE(Elemdata_), INTENT(IN) :: obj + INTEGER(I4B), INTENT(IN) :: localEdgeNumber + !! local edge number + INTEGER(I4B) :: ans + !! global edge number +END FUNCTION Elemdata_GetGlobalEdgeNumber +``` + +## Elemdata_GetGlobalElements + +This subroutine returns the list of globalElements in the element. + +```fortran +PURE SUBROUTINE Elemdata_GetGlobalElements(obj, ans, tsize) + TYPE(Elemdata_), INTENT(in) :: obj + INTEGER(I4B), INTENT(INOUT) :: ans(:) + INTEGER(I4B), INTENT(OUT) :: tsize +END SUBROUTINE Elemdata_GetGlobalElements +``` + +:::note +This routine returns all the entries of globalElements, so you should look at the meaning of globalElements in the [Structure](#structure) section. +::: + +## Elemdata_GetBoundaryData + +This subroutine returns the list of boundaryData in the element. + +```fortran +PURE SUBROUTINE Elemdata_GetBoundaryData(obj, ans, tsize) + TYPE(Elemdata_), INTENT(in) :: obj + INTEGER(I4B), INTENT(INOUT) :: ans(:) + !! boundary data, see the boundaryData in the type definition + INTEGER(I4B), INTENT(OUT) :: tsize +END SUBROUTINE Elemdata_GetBoundaryData +``` + +## Elemdata_GetGlobalNodesPointer + +This function returns the pointer to the globalNodes in the element. + +```fortran +FUNCTION Elemdata_GetGlobalNodesPointer(obj) RESULT(ans) + TYPE(Elemdata_), TARGET, INTENT(IN) :: obj + INTEGER(I4B), POINTER :: ans(:) + ans => obj%globalNodes +END FUNCTION Elemdata_GetGlobalNodesPointer +``` + +## Elemdata_GetEdgeOrient + +This subroutine returns the list of edgeOrient vector in the element. + +```fortran +PURE SUBROUTINE Elemdata_GetEdgeOrient(obj, ans, tsize) + TYPE(Elemdata_), INTENT(in) :: obj + INTEGER(I4B), INTENT(INOUT) :: ans(:) + INTEGER(I4B), INTENT(OUT) :: tsize +END SUBROUTINE Elemdata_GetEdgeOrient +``` + +## Elemdata_GetFaceOrient + +This subroutine returns the list of faceOrient vector in the element. + +```fortran +PURE SUBROUTINE Elemdata_GetFaceOrient(obj, ans, nrow, ncol) + TYPE(Elemdata_), INTENT(in) :: obj + INTEGER(I4B), INTENT(INOUT) :: ans(:, :) + INTEGER(I4B), INTENT(OUT) :: nrow, ncol +END SUBROUTINE Elemdata_GetFaceOrient +``` + +## Elemdata_GetOrientation + +This subroutine returns the orientation related vectors in the element. + +```fortran +PURE SUBROUTINE Elemdata_GetOrientation(obj, cellOrient, faceOrient, & + edgeOrient, tCellOrient, tFaceOrient, tEdgeOrient) + TYPE(Elemdata_), INTENT(IN) :: obj + !! element dataa + INTEGER(I4B), INTENT(INOUT) :: cellOrient(:) + !! cell connectivity of element + INTEGER(I4B), INTENT(INOUT) :: faceOrient(:, :) + !! face connectivity of element + INTEGER(I4B), INTENT(INOUT) :: edgeOrient(:) + !! edge connectivity of element + INTEGER(I4B), INTENT(OUT) :: tCellOrient + !! size of data written in cellCon + INTEGER(I4B), INTENT(OUT) :: tFaceOrient(2) + !! size of data written in faceCon + INTEGER(I4B), INTENT(OUT) :: tEdgeOrient + !! size of data written in edgecon +END SUBROUTINE Elemdata_GetOrientation +``` + +## Elemdata_FindFace + +This subroutine finds the local face number of the element which contains the given face. The given face is described by its connectivity of the vertices. + +```fortran +SUBROUTINE Elemdata_FindFace(obj, faceCon, isFace, & + localFaceNumber, onlyBoundaryElement) + TYPE(Elemdata_), INTENT(IN) :: obj + !! abstract mesh + INTEGER(I4B), INTENT(IN) :: faceCon(:) + !! vertex connectivity of face + LOGICAL(LGT), INTENT(OUT) :: isFace + !! if faceCon is a face of globalElement then it is true, else false + INTEGER(I4B), INTENT(OUT) :: localFaceNumber + !! local face number if found, else 0 + LOGICAL(LGT), INTENT(IN) :: onlyBoundaryElement + !! if true then we will search if the element is boundary element +END SUBROUTINE Elemdata_FindFace +``` + +## Elemdata_FindEdge + +This subroutine finds the local edge number of the element which contains the given edge. The given edge is described by its connectivity of the vertices. + +```fortran +SUBROUTINE Elemdata_FindEdge(obj, edgeCon, isEdge, localEdgeNumber, & + onlyBoundaryElement) + TYPE(Elemdata_), INTENT(IN) :: obj + !! abstract mesh + INTEGER(I4B), INTENT(IN) :: edgeCon(:) + !! vertex connectivity of Edge + LOGICAL(LGT), INTENT(OUT) :: isEdge + !! if EdgeCon is a Edge of globalElement then it is true, else false + INTEGER(I4B), INTENT(OUT) :: localEdgeNumber + !! local Edge number if found, else 0 + LOGICAL(LGT), INTENT(IN) :: onlyBoundaryElement + !! if true then we will search if the element is boundary element +END SUBROUTINE Elemdata_FindEdge +``` + +## Elemdata_IsBoundaryElement + +This function returns true if the element is a boundary element, false otherwise. + +```fortran +FUNCTION Elemdata_IsBoundaryElement(obj) RESULT(ans) + TYPE(Elemdata_), INTENT(IN) :: obj + LOGICAL(LGT) :: ans + ans = (obj%elementType .EQ. TypeElem%boundary) .OR. & + (obj%elementType .EQ. TypeElem%domainBoundary) +END FUNCTION Elemdata_IsBoundaryElement +``` + +## Elemdata_Order + +This function returns the order of the element. + +```fortran +PURE FUNCTION Elemdata_Order(obj) RESULT(ans) + TYPE(Elemdata_), INTENT(IN) :: obj + INTEGER(I4B) :: ans + ans = ElementOrder(obj%name) +END FUNCTION Elemdata_Order +``` diff --git a/docs/docs-api/AbstractMesh/GetBoundaryElementData.md b/docs/docs-api/AbstractMesh/GetBoundaryElementData.md new file mode 100644 index 00000000..3f42b30f --- /dev/null +++ b/docs/docs-api/AbstractMesh/GetBoundaryElementData.md @@ -0,0 +1,15 @@ +# GetBoundaryElementData + +Returns the boundary element data. + +## Interface + +```fortran +MODULE PURE FUNCTION GetBoundaryElementData(obj, globalElement) & + & RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + INTEGER(I4B), INTENT(IN) :: globalElement + INTEGER(I4B), ALLOCATABLE :: ans(:) +END FUNCTION GetBoundaryElementData +``` + diff --git a/docs/docs-api/AbstractMesh/GetBoundaryNptrs.md b/docs/docs-api/AbstractMesh/GetBoundaryNptrs.md new file mode 100644 index 00000000..33066f82 --- /dev/null +++ b/docs/docs-api/AbstractMesh/GetBoundaryNptrs.md @@ -0,0 +1,10 @@ +# GetBoundaryNptrs + +## Interface + +```fortran + MODULE PURE FUNCTION getBoundaryNptrs(obj) RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + INTEGER(I4B), ALLOCATABLE :: ans(:) + END FUNCTION getBoundaryNptrs +``` diff --git a/docs/docs-api/AbstractMesh/GetBoundingBox.md b/docs/docs-api/AbstractMesh/GetBoundingBox.md new file mode 100644 index 00000000..346c34e2 --- /dev/null +++ b/docs/docs-api/AbstractMesh/GetBoundingBox.md @@ -0,0 +1,21 @@ +# GetBoundingBox + +## Interface + +```fortran + MODULE PURE FUNCTION getBoundingBox(obj) RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + TYPE(BoundingBox_) :: ans + END FUNCTION getBoundingBox +``` + +```fortran + MODULE PURE FUNCTION getBoundingBox(obj, nodes, local_nptrs) & + & RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + REAL(DFP), INTENT(IN) :: nodes(:, :) + !! Nodal coordinates in XiJ format + INTEGER(I4B), OPTIONAL, INTENT(IN) :: local_nptrs(:) + TYPE(BoundingBox_) :: ans + END FUNCTION getBoundingBox +``` diff --git a/docs/docs-api/AbstractMesh/GetBoundingEntity.md b/docs/docs-api/AbstractMesh/GetBoundingEntity.md new file mode 100644 index 00000000..79df25d0 --- /dev/null +++ b/docs/docs-api/AbstractMesh/GetBoundingEntity.md @@ -0,0 +1,10 @@ +# GetBoundingEntity + +## Interface + +```fortran + MODULE PURE FUNCTION getBoundingEntity(obj) RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + INTEGER(I4B), ALLOCATABLE :: ans(:) + END FUNCTION getBoundingEntity +``` diff --git a/docs/docs-api/AbstractMesh/GetCellNumber.md b/docs/docs-api/AbstractMesh/GetCellNumber.md new file mode 100644 index 00000000..4999f68a --- /dev/null +++ b/docs/docs-api/AbstractMesh/GetCellNumber.md @@ -0,0 +1,14 @@ +# GetCellNumber + +## Interface + +```fortran + MODULE PURE FUNCTION getCellNumber( obj, facetElement, & + & elementType, facetBoundary ) RESULT( ans ) + CLASS( Mesh_ ), INTENT( IN ) :: obj + INTEGER( I4B ), INTENT( IN ) :: facetElement + INTEGER( I4B ), INTENT( IN ) :: elementType + INTEGER( I4B ), OPTIONAL, INTENT( IN ) :: facetBoundary + INTEGER( I4B ) :: ans( 2 ) + END FUNCTION getCellNumber +``` diff --git a/docs/docs-api/AbstractMesh/GetConnectivity.md b/docs/docs-api/AbstractMesh/GetConnectivity.md new file mode 100644 index 00000000..62517693 --- /dev/null +++ b/docs/docs-api/AbstractMesh/GetConnectivity.md @@ -0,0 +1,11 @@ +# GetConnectivity + +## Interface + +```fortran + MODULE PURE FUNCTION getConnectivity(obj, globalElement) RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + INTEGER(I4B), INTENT(IN) :: globalElement + INTEGER(I4B), ALLOCATABLE :: ans(:) + END FUNCTION getConnectivity +``` diff --git a/docs/docs-api/AbstractMesh/GetElemNum.md b/docs/docs-api/AbstractMesh/GetElemNum.md new file mode 100644 index 00000000..3b426591 --- /dev/null +++ b/docs/docs-api/AbstractMesh/GetElemNum.md @@ -0,0 +1,10 @@ +# GetElemNum + +## Interface + +```fortran + MODULE FUNCTION getElemNum(obj) RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + INTEGER(I4B), ALLOCATABLE :: ans(:) + END FUNCTION getElemNum +``` diff --git a/docs/docs-api/AbstractMesh/GetElementToElements.md b/docs/docs-api/AbstractMesh/GetElementToElements.md new file mode 100644 index 00000000..26798c36 --- /dev/null +++ b/docs/docs-api/AbstractMesh/GetElementToElements.md @@ -0,0 +1,22 @@ +# GetElementToElements + +Get element to elements connectivity information. + +## Interface + +```fortran +MODULE PURE FUNCTION getElementToElements(obj, globalElement, & + & onlyElements) RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + !! mesh data + INTEGER(I4B), INTENT(IN) :: globalElement + !! Global element number + LOGICAL(LGT), OPTIONAL, INTENT(IN) :: onlyElements + !! If onlyElements is absent or it is FALSE then full information + !! about the elements connected to element iel is given + !! If onlyElements is present and it is TRUE then only the + !! information about the elements connected to element iel is given + INTEGER(I4B), ALLOCATABLE :: ans(:, :) + !! list of elements surrounding elements +END FUNCTION getElementToElements +``` diff --git a/docs/docs-api/AbstractMesh/GetFacetConnectivity.md b/docs/docs-api/AbstractMesh/GetFacetConnectivity.md new file mode 100644 index 00000000..0230d074 --- /dev/null +++ b/docs/docs-api/AbstractMesh/GetFacetConnectivity.md @@ -0,0 +1,31 @@ +# GetFacetConnectivity + +## Interface + +```fortran + MODULE PURE FUNCTION getFacetConnectivity( obj, facetElement, & + & elementType, isMaster, facetBoundary ) RESULT( ans ) + CLASS( Mesh_ ), INTENT( IN ) :: obj + INTEGER( I4B ), INTENT( IN ) :: facetElement + INTEGER( I4B ), INTENT( IN ) :: elementType + LOGICAL( LGT ), INTENT( IN ) :: isMaster + !! if isMaster is true then connectivity of facet in master-cell + !! is returned, otherwise connectivity of facet in slave-cell + !! is returned. This is only applicable for internal facet element + !! because for domain facet we do not have slave-cell. + !! Currently, we do not support slave-cell for meshFacet because + !! the slave of meshFacet lives in different instance of + INTEGER( I4B ), OPTIONAL, INTENT( IN ) :: facetBoundary + INTEGER( I4B ), ALLOCATABLE :: ans( : ) + END FUNCTION getFacetConnectivity +``` + +```fortran + MODULE PURE FUNCTION getFacetConnectivity( obj, globalElement, & + & iface ) RESULT( ans ) + CLASS( Mesh_ ), INTENT( IN ) :: obj + INTEGER( I4B ), INTENT( IN ) :: globalElement + INTEGER( I4B ), INTENT( IN ) :: iface + INTEGER( I4B ), ALLOCATABLE :: ans( : ) + END FUNCTION getFacetConnectivity +``` diff --git a/docs/docs-api/AbstractMesh/GetFacetElementType.md b/docs/docs-api/AbstractMesh/GetFacetElementType.md new file mode 100644 index 00000000..fae6cee9 --- /dev/null +++ b/docs/docs-api/AbstractMesh/GetFacetElementType.md @@ -0,0 +1,12 @@ +# GetFacetElementType + +## Interface + +```fortran + MODULE PURE FUNCTION getFacetElementType( obj, globalElement ) & + & RESULT( ans ) + CLASS( Mesh_ ), INTENT( IN ) :: obj + INTEGER( I4B ), INTENT( IN ) :: globalElement + INTEGER( I4B ), ALLOCATABLE :: ans( : ) + END FUNCTION getFacetElementType +``` diff --git a/docs/docs-api/AbstractMesh/GetGlobalElemNumber.md b/docs/docs-api/AbstractMesh/GetGlobalElemNumber.md new file mode 100644 index 00000000..9c50f4d6 --- /dev/null +++ b/docs/docs-api/AbstractMesh/GetGlobalElemNumber.md @@ -0,0 +1,20 @@ +# GetGlobalElemNumber + +## Interface + +```fortran + MODULE PURE FUNCTION getGlobalElemNumber(obj, LocalElement) & + & RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + INTEGER(I4B), INTENT(IN) :: LocalElement(:) + INTEGER(I4B) :: ans(SIZE(LocalElement)) + END FUNCTION getGlobalElemNumber +``` + +```fortran + MODULE PURE FUNCTION getGlobalElemNumber(obj, LocalElement) RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + INTEGER(I4B), INTENT(IN) :: LocalElement + INTEGER(I4B) :: ans + END FUNCTION getGlobalElemNumber +``` diff --git a/docs/docs-api/AbstractMesh/GetGlobalNodeNumber.md b/docs/docs-api/AbstractMesh/GetGlobalNodeNumber.md new file mode 100644 index 00000000..5544b193 --- /dev/null +++ b/docs/docs-api/AbstractMesh/GetGlobalNodeNumber.md @@ -0,0 +1,19 @@ +# GetGlobalNodeNumber + +## Interface + +```fortran + MODULE PURE FUNCTION getGlobalNodeNumber(obj, localNode) RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + INTEGER(I4B), INTENT(IN) :: localNode(:) + INTEGER(I4B) :: ans(SIZE(localNode)) + END FUNCTION getGlobalNodeNumber +``` + +```fortran + MODULE PURE FUNCTION getGlobalNodeNumber(obj, localNode) RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + INTEGER(I4B), INTENT(IN) :: localNode + INTEGER(I4B) :: ans + END FUNCTION getGlobalNodeNumber +``` diff --git a/docs/docs-api/AbstractMesh/GetInternalNptrs.md b/docs/docs-api/AbstractMesh/GetInternalNptrs.md new file mode 100644 index 00000000..1c513583 --- /dev/null +++ b/docs/docs-api/AbstractMesh/GetInternalNptrs.md @@ -0,0 +1,10 @@ +# GetInternalNptrs + +## Interface + +```fortran + MODULE PURE FUNCTION getInternalNptrs(obj) RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + INTEGER(I4B), ALLOCATABLE :: ans(:) + END FUNCTION getInternalNptrs +``` diff --git a/docs/docs-api/AbstractMesh/GetLocalElemNumber.md b/docs/docs-api/AbstractMesh/GetLocalElemNumber.md new file mode 100644 index 00000000..ca8f534a --- /dev/null +++ b/docs/docs-api/AbstractMesh/GetLocalElemNumber.md @@ -0,0 +1,19 @@ +# GetLocalElemNumber + +## Interface + +```fortran + MODULE PURE FUNCTION getLocalElemNumber(obj, GlobalElement) RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + INTEGER(I4B), INTENT(IN) :: GlobalElement(:) + INTEGER(I4B) :: ans(SIZE(GlobalElement)) + END FUNCTION getLocalElemNumber +``` + +```fortran + MODULE PURE FUNCTION getLocalElemNumber(obj, GlobalElement) RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + INTEGER(I4B), INTENT(IN) :: GlobalElement + INTEGER(I4B) :: ans + END FUNCTION getLocalElemNumber +``` diff --git a/docs/docs-api/AbstractMesh/GetLocalFacetID.md b/docs/docs-api/AbstractMesh/GetLocalFacetID.md new file mode 100644 index 00000000..ac258cbd --- /dev/null +++ b/docs/docs-api/AbstractMesh/GetLocalFacetID.md @@ -0,0 +1,15 @@ +# GetLocalFacetID + +## Interface + +```fortran + MODULE PURE FUNCTION getLocalFacetID( obj, facetElement, & + & elementType, isMaster, facetBoundary ) RESULT( ans ) + CLASS( Mesh_ ), INTENT( IN ) :: obj + INTEGER( I4B ), INTENT( IN ) :: facetElement + INTEGER( I4B ), INTENT( IN ) :: elementType + LOGICAL( LGT ), INTENT( IN ) :: isMaster + INTEGER( I4B ), OPTIONAL, INTENT( IN ) :: facetBoundary + INTEGER( I4B ) :: ans + END FUNCTION getLocalFacetID +``` diff --git a/docs/docs-api/AbstractMesh/GetLocalNodeNumber.md b/docs/docs-api/AbstractMesh/GetLocalNodeNumber.md new file mode 100644 index 00000000..a3c5fa1d --- /dev/null +++ b/docs/docs-api/AbstractMesh/GetLocalNodeNumber.md @@ -0,0 +1,19 @@ +# GetLocalNodeNumber + +## Interface + +```fortran + MODULE PURE FUNCTION getLocalNodeNumber(obj, globalNode) RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + INTEGER(I4B), INTENT(IN) :: globalNode(:) + INTEGER(I4B) :: ans(SIZE(globalNode)) + END FUNCTION getLocalNodeNumber +``` + +```fortran + MODULE PURE FUNCTION getLocalNodeNumber(obj, globalNode) RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + INTEGER(I4B), INTENT(IN) :: globalNode + INTEGER(I4B) :: ans + END FUNCTION getLocalNodeNumber +``` diff --git a/docs/docs-api/AbstractMesh/GetMasterCellNumber.md b/docs/docs-api/AbstractMesh/GetMasterCellNumber.md new file mode 100644 index 00000000..939c6858 --- /dev/null +++ b/docs/docs-api/AbstractMesh/GetMasterCellNumber.md @@ -0,0 +1,15 @@ +# GetMasterCellNumber + +## Interface + +```fortran + MODULE PURE FUNCTION getMasterCellNumber( obj, facetElement, & + & elementType, facetBoundary )& + & RESULT( ans ) + CLASS( Mesh_ ), INTENT( IN ) :: obj + INTEGER( I4B ), INTENT( IN ) :: facetElement + INTEGER( I4B ), INTENT( IN ) :: elementType + INTEGER( I4B ), OPTIONAL, INTENT( IN ) :: facetBoundary + INTEGER( I4B ) :: ans + END FUNCTION getMasterCellNumber +``` diff --git a/docs/docs-api/AbstractMesh/GetNodeToElements.md b/docs/docs-api/AbstractMesh/GetNodeToElements.md new file mode 100644 index 00000000..cafdd15d --- /dev/null +++ b/docs/docs-api/AbstractMesh/GetNodeToElements.md @@ -0,0 +1,31 @@ +# GetNodeToElements + +Get node to elements connectivity. + +There are two interfaces to this method. + +## Interface 1 + +```fortran +MODULE PURE FUNCTION getNodeToElements(obj, globalNode) RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + !! mesh data + INTEGER(I4B), INTENT(IN) :: globalNode + !! global node number + INTEGER(I4B), ALLOCATABLE :: ans(:) + !! A vector of local element number +END FUNCTION getNodeToElements +``` + +## Interface 2 + +```fortran +MODULE PURE FUNCTION getNodeToElements(obj, globalNode) RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + !! mesh data + INTEGER(I4B), INTENT(IN) :: globalNode(:) + !! global node number + INTEGER(I4B), ALLOCATABLE :: ans(:) + !! A vector of local element number +END FUNCTION getNodeToElements +``` diff --git a/docs/docs-api/AbstractMesh/GetNodeToNodes.md b/docs/docs-api/AbstractMesh/GetNodeToNodes.md new file mode 100644 index 00000000..16a3ce3a --- /dev/null +++ b/docs/docs-api/AbstractMesh/GetNodeToNodes.md @@ -0,0 +1,27 @@ +# GetNodeToNodes + +Returns node to node connectivity in the mess. + +## Interface 1 + +```fortran +MODULE PURE FUNCTION getNodeToNodes(obj, globalNode, IncludeSelf) & + & RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + INTEGER(I4B), INTENT(IN) :: globalNode + LOGICAL(LGT), INTENT(IN) :: IncludeSelf + INTEGER(I4B), ALLOCATABLE :: ans(:) +END FUNCTION getNodeToNodes +``` + +## Interface 2 + +```fortran +MODULE PURE FUNCTION getNodeToNodes(obj, globalNode, IncludeSelf) & + & RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + INTEGER(I4B), INTENT(IN) :: globalNode( : ) + LOGICAL(LGT), INTENT(IN) :: IncludeSelf + INTEGER(I4B), ALLOCATABLE :: ans(:) +END FUNCTION getNodeToNodes +``` diff --git a/docs/docs-api/AbstractMesh/GetNptrs.md b/docs/docs-api/AbstractMesh/GetNptrs.md new file mode 100644 index 00000000..2a524c86 --- /dev/null +++ b/docs/docs-api/AbstractMesh/GetNptrs.md @@ -0,0 +1,10 @@ +# GetNptrs + +## Interface + +```fortran + MODULE PURE FUNCTION getNptrs(obj) RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + INTEGER(I4B), ALLOCATABLE :: ans(:) + END FUNCTION getNptrs +``` diff --git a/docs/docs-api/AbstractMesh/GetRefElemPointer.md b/docs/docs-api/AbstractMesh/GetRefElemPointer.md new file mode 100644 index 00000000..42c05dd9 --- /dev/null +++ b/docs/docs-api/AbstractMesh/GetRefElemPointer.md @@ -0,0 +1,10 @@ +# GetRefElemPointer + +## Interface + +```fortran + MODULE FUNCTION getRefElemPointer(obj) RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + CLASS(ReferenceElement_), POINTER :: ans + END FUNCTION getRefElemPointer +``` diff --git a/docs/docs-api/AbstractMesh/GetSlaveCellNumber.md b/docs/docs-api/AbstractMesh/GetSlaveCellNumber.md new file mode 100644 index 00000000..8796abc6 --- /dev/null +++ b/docs/docs-api/AbstractMesh/GetSlaveCellNumber.md @@ -0,0 +1,14 @@ +# GetSlaveCellNumber + +## Interface + +```fortran + MODULE PURE FUNCTION getSlaveCellNumber( obj, facetElement, & + & elementType, facetBoundary ) RESULT( ans ) + CLASS( Mesh_ ), INTENT( IN ) :: obj + INTEGER( I4B ), INTENT( IN ) :: facetElement + INTEGER( I4B ), INTENT( IN ) :: elementType + INTEGER( I4B ), OPTIONAL, INTENT( IN ) :: facetBoundary + INTEGER( I4B ) :: ans + END FUNCTION getSlaveCellNumber +``` diff --git a/docs/docs-api/AbstractMesh/GetTotalBoundaryElements.md b/docs/docs-api/AbstractMesh/GetTotalBoundaryElements.md new file mode 100644 index 00000000..c695323f --- /dev/null +++ b/docs/docs-api/AbstractMesh/GetTotalBoundaryElements.md @@ -0,0 +1,10 @@ +# GetTotalBoundaryElements + +## Interface + +```fortran + MODULE PURE FUNCTION getTotalBoundaryElements(obj) RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + INTEGER(I4B) :: ans + END FUNCTION getTotalBoundaryElements +``` diff --git a/docs/docs-api/AbstractMesh/GetTotalBoundaryFacetElements.md b/docs/docs-api/AbstractMesh/GetTotalBoundaryFacetElements.md new file mode 100644 index 00000000..1b2d9d9e --- /dev/null +++ b/docs/docs-api/AbstractMesh/GetTotalBoundaryFacetElements.md @@ -0,0 +1,10 @@ +# GetTotalBoundaryFacetElements + +## Interface + +```fortran + MODULE PURE FUNCTION getTotalBoundaryFacetElements( obj ) RESULT(ans) + CLASS(Mesh_), INTENT( IN ) :: obj + INTEGER( I4B ) :: ans + END FUNCTION getTotalBoundaryFacetElements +``` diff --git a/docs/docs-api/AbstractMesh/GetTotalBoundaryNodes.md b/docs/docs-api/AbstractMesh/GetTotalBoundaryNodes.md new file mode 100644 index 00000000..ff1eab32 --- /dev/null +++ b/docs/docs-api/AbstractMesh/GetTotalBoundaryNodes.md @@ -0,0 +1,10 @@ +# GetTotalBoundaryNodes + +## Interface + +```fortran + MODULE PURE FUNCTION getTotalBoundaryNodes(obj) RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + INTEGER(I4B) :: ans + END FUNCTION getTotalBoundaryNodes +``` diff --git a/docs/docs-api/AbstractMesh/GetTotalFacetElements.md b/docs/docs-api/AbstractMesh/GetTotalFacetElements.md new file mode 100644 index 00000000..e1375d5e --- /dev/null +++ b/docs/docs-api/AbstractMesh/GetTotalFacetElements.md @@ -0,0 +1,10 @@ +# GetTotalFacetElements + +## Interface + +```fortran + MODULE PURE FUNCTION getTotalFacetElements( obj ) RESULT( ans ) + CLASS(Mesh_), INTENT( IN ) :: obj + INTEGER( I4B ) :: ans + END FUNCTION getTotalFacetElements +``` diff --git a/docs/docs-api/AbstractMesh/GetTotalInternalFacetElements.md b/docs/docs-api/AbstractMesh/GetTotalInternalFacetElements.md new file mode 100644 index 00000000..c05e987a --- /dev/null +++ b/docs/docs-api/AbstractMesh/GetTotalInternalFacetElements.md @@ -0,0 +1,10 @@ +# GetTotalInternalFacetElements + +## Interface + +```fortran + MODULE PURE FUNCTION getTotalInternalFacetElements( obj ) RESULT(ans) + CLASS(Mesh_), INTENT( IN ) :: obj + INTEGER( I4B ) :: ans + END FUNCTION getTotalInternalFacetElements +``` diff --git a/docs/docs-api/FEMesh/IsTotalInternalNodes.md b/docs/docs-api/AbstractMesh/GetTotalInternalNodes.md similarity index 100% rename from docs/docs-api/FEMesh/IsTotalInternalNodes.md rename to docs/docs-api/AbstractMesh/GetTotalInternalNodes.md diff --git a/docs/docs-api/AbstractMesh/GetTotalNodes.md b/docs/docs-api/AbstractMesh/GetTotalNodes.md new file mode 100644 index 00000000..214d6776 --- /dev/null +++ b/docs/docs-api/AbstractMesh/GetTotalNodes.md @@ -0,0 +1,10 @@ +# GetTotalNodes + +## Interface + +```fortran + MODULE PURE FUNCTION getTotalNodes(obj) RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + INTEGER(I4B) :: ans + END FUNCTION getTotalNodes +``` diff --git a/docs/docs-api/AbstractMesh/Initiate.md b/docs/docs-api/AbstractMesh/Initiate.md new file mode 100644 index 00000000..56e28863 --- /dev/null +++ b/docs/docs-api/AbstractMesh/Initiate.md @@ -0,0 +1,22 @@ +--- +sidebar_position: 7 +--- + +# Initiate + +Initiate an instance of Mesh. + +# Interface + +```fortran +INTERFACE + MODULE SUBROUTINE obj_Initiate(obj, hdf5, group) + CLASS(Mesh_), INTENT(INOUT) :: obj + !! mesh object + TYPE(HDF5File_), INTENT(INOUT) :: hdf5 + !! Mesh file in hdf5 file format + CHARACTER(*), INTENT(IN) :: group + !! location in HDF5 file + END SUBROUTINE obj_Initiate +END INTERFACE +``` diff --git a/docs/docs-api/AbstractMesh/InitiateBoundaryData.md b/docs/docs-api/AbstractMesh/InitiateBoundaryData.md new file mode 100644 index 00000000..6eda0b31 --- /dev/null +++ b/docs/docs-api/AbstractMesh/InitiateBoundaryData.md @@ -0,0 +1,30 @@ +# InitiateBoundaryData + +This method construct the boundary-element data. + +- It marks elements of mesh as `DOMAIN_BOUNDARY_ELEMENT` and `INTERNAL_ELEMENT`. +- In this case boundary elements are those which contains the boundary node. +- Boundary-node information is available by reading the mesh file, see mesh import method. +- It also forms `obj%elementData(ii)%boundaryData`. + +:::note +This subroutine treats all boundary element as `DOMAIN_BOUNDARY_ELEMENT` because it does not have information of surrouding mesh. However, this is not correct. This is because, not all mesh boundary elements are domain boundary elements. For example, some mesh-boundary element may be interface element between two mesh regions. This information can be corrected by calling [SetFacetElementType](../Domain/SetFacetElementType.md) method from [Domain_](../Domain/Domain_.md). +::: + +:::info +If we call [InitiateBoundaryData](../Domain/InitiateBoundaryData.md), then we do not have to call [SetFacetElementType](../Domain/SetFacetElementType.md) because the former routine makes an internal call to the latter. +::: + +This method needs following information: + +- `ElementToElements` +- `refelem` to construct the FacetElements + +```fortran +INTERFACE + MODULE SUBROUTINE InitiateBoundaryData(obj) + CLASS(Mesh_), INTENT(INOUT) :: obj + !! mesh data + END SUBROUTINE InitiateBoundaryData +END INTERFACE +``` diff --git a/docs/docs-api/AbstractMesh/InitiateElemSD.md b/docs/docs-api/AbstractMesh/InitiateElemSD.md new file mode 100644 index 00000000..49118b54 --- /dev/null +++ b/docs/docs-api/AbstractMesh/InitiateElemSD.md @@ -0,0 +1,111 @@ +# InitiateElemSD + +```fortran + MODULE SUBROUTINE InitiateElemSD(obj, & + & orderSpace, & + & linSpaceElem, & + & spaceElem, & + & quadTypeForSpace, & + & continuityTypeForSpace, & + & interpolTypeForSpace ) + CLASS(Mesh_), INTENT(INOUT) :: obj + INTEGER(I4B), INTENT(IN) :: orderSpace + !! integrand order in space + CLASS(ReferenceElement_), TARGET, INTENT(IN) :: linSpaceElem + !! linear (simplex) space element + CLASS(ReferenceElement_), TARGET, INTENT(IN) :: spaceElem + !! space element + CHARACTER(LEN=*), INTENT(IN) :: quadTypeForSpace + !! quadrature for space + CHARACTER(LEN=*), INTENT(IN) :: continuityTypeForSpace + !! continuity for base in space + CHARACTER(LEN=*), INTENT(IN) :: interpolTypeForSpace + !! interpolation type for base in space + END SUBROUTINE InitiateElemSD +``` + +```fortran + MODULE SUBROUTINE mesh_initiateElemSD2(obj, & + & orderSpace, & + & linSpaceElem, & + & spaceElem, & + & quadTypeForSpace, & + & continuityTypeForSpace, & + & interpolTypeForSpace, & + & orderTime, & + & linTimeElem, & + & timeElem, & + & quadTypeForTime, & + & continuityTypeForTime, & + & interpolTypeForTime, & + & tvec) + CLASS(Mesh_), INTENT(INOUT) :: obj + INTEGER(I4B), INTENT(IN) :: orderSpace + !! integrand order in space + CLASS(ReferenceElement_), TARGET, INTENT(IN) :: linSpaceElem + !! linear space element + CLASS(ReferenceElement_), TARGET, INTENT(IN) :: spaceElem + !! space element + CHARACTER(LEN=*), INTENT(IN) :: quadTypeForSpace + !! quadrature type for space + CHARACTER(LEN=*), INTENT(IN) :: continuityTypeForSpace + !! continuity type of base in space + CHARACTER(LEN=*), INTENT(IN) :: interpolTypeForSpace + !! interpol type of base in space + INTEGER(I4B), INTENT(IN) :: orderTime + !! integrand order in time + TYPE(ReferenceLine_), INTENT(IN) :: linTimeElem + !! linear time element + TYPE(ReferenceLine_), INTENT(IN) :: timeElem + !! time element + CHARACTER(LEN=*), INTENT(IN) :: quadTypeForTime + !! quadrature type of base in time + CHARACTER(LEN=*), INTENT(IN) :: continuityTypeForTime + !! continuity type of base in time + CHARACTER(LEN=*), INTENT(IN) :: interpolTypeForTime + !! interpol type of base in time + REAL(DFP), INTENT(IN) :: tvec(:) + END SUBROUTINE mesh_initiateElemSD2 +``` + +```fortran + MODULE SUBROUTINE mesh_initiateElemSD3(obj, & + & orderSpace, & + & linSpaceElem, & + & spaceElem, & + & quadTypeForSpace, & + & continuityTypeForSpace, & + & interpolTypeForSpace, & + & orderTime, & + & linTimeElem, & + & timeElem, & + & quadTypeForTime, & + & continuityTypeForTime, & + & interpolTypeForTime ) + CLASS(Mesh_), INTENT(INOUT) :: obj + INTEGER(I4B), INTENT(IN) :: orderSpace + !! integrand order in space + CLASS(ReferenceElement_), TARGET, INTENT(IN) :: linSpaceElem + !! linear space element + CLASS(ReferenceElement_), TARGET, INTENT(IN) :: spaceElem + !! space element + CHARACTER(LEN=*), INTENT(IN) :: quadTypeForSpace + !! quadrature type of base in space + CHARACTER(LEN=*), INTENT(IN) :: continuityTypeForSpace + !! continuity type of base in space + CHARACTER(LEN=*), INTENT(IN) :: interpolTypeForSpace + !! interpolation type of base in space + INTEGER(I4B), INTENT(IN) :: orderTime + !! integrand order in time + TYPE(ReferenceLine_), INTENT(IN) :: linTimeElem + !! linear time element + TYPE(ReferenceLine_), INTENT(IN) :: timeElem + !! time element + CHARACTER(LEN=*), INTENT(IN) :: quadTypeForTime + !! quadrature type of base in time + CHARACTER(LEN=*), INTENT(IN) :: continuityTypeForTime + !! continuity type of base in time + CHARACTER(LEN=*), INTENT(IN) :: interpolTypeForTime + !! interpolation type of base in time + END SUBROUTINE mesh_initiateElemSD3 +``` diff --git a/docs/docs-api/AbstractMesh/InitiateElementToElements.md b/docs/docs-api/AbstractMesh/InitiateElementToElements.md new file mode 100644 index 00000000..03640493 --- /dev/null +++ b/docs/docs-api/AbstractMesh/InitiateElementToElements.md @@ -0,0 +1,22 @@ +# InitiateElementToElements + +This routine creates the element surrounding a given element data + +- Before calling this routine, make sure the `refelem` in mesh is allocated. +- By using `refelem`, this routine forms the FacetElements. +- This routine needs `nodeToElements` information, therefore, if `nodeToElements` is not initiated then it calls `initiateNodeToelements` method. + +- This method forms following data: +- `obj%elementData(ielem)%globalElements` +- It also identifies those elements which are boundary element of mesh, and set `obj%elementData(ielem)%elementType=BOUNDARY_ELEMENT` for those elements. +- Note that at this point these boundary-elements can be interface element + between two meshs, or domain-boundary element. + +```fortran +INTERFACE + MODULE SUBROUTINE InitiateElementToElements(obj) + CLASS(Mesh_), INTENT(INOUT) :: obj + !! mesh data + END SUBROUTINE InitiateElementToElements +END INTERFACE +``` diff --git a/docs/docs-api/AbstractMesh/InitiateExtraNodeToNodes.md b/docs/docs-api/AbstractMesh/InitiateExtraNodeToNodes.md new file mode 100644 index 00000000..189df003 --- /dev/null +++ b/docs/docs-api/AbstractMesh/InitiateExtraNodeToNodes.md @@ -0,0 +1,20 @@ +# InitiateExtraNodetoNodes + +This routine generate the node to nodes mapping + +- This mapping is stored inside `obj%nodeData%extraGlobalNodeNum` +- For a local node number i, `obj%nodeData(i)%ExtraGlobalNodeNum` denotes the global node data surrounding the local node number used for edge-based stabilization. This list does not include self node. + +- It needs information about `nodeToNodes`, `nodeToElements`, and `elementToElements`. Therefore, +- If `nodeToNodes` is not initiated, then this method initiates it. +- If `nodeToElements` is not initiated, then this method initiates it. +- If `elementToElements` is not initiated, then this method initiates it. + +```fortran +INTERFACE + MODULE SUBROUTINE InitiateExtraNodetoNodes(obj) + CLASS(Mesh_), INTENT(INOUT) :: obj + !! mesh data + END SUBROUTINE InitiateExtraNodetoNodes +END INTERFACE +``` diff --git a/docs/docs-api/AbstractMesh/InitiateFacetElements.md b/docs/docs-api/AbstractMesh/InitiateFacetElements.md new file mode 100644 index 00000000..ae5ae0a5 --- /dev/null +++ b/docs/docs-api/AbstractMesh/InitiateFacetElements.md @@ -0,0 +1,27 @@ +--- +title: InitiateFacetElements +--- + +This routine needs following information: + +- `ElementToElements` +- `BoundaryData` + + It makes following data + +- `InternalFacetData` +- `BoundaryFacetData` +- `FacetElementType` + + Note that at this point all `boundaryFacet` element are of type `DOMAIN_BOUNDARY_ELEMENT`. This information can be corrected only when + we call `SetFacetElementType` from Domain_ class. This is because, at this point we only know that a boundary facet is a domain boundary element, as we have no information about the neighbouring mesh. + +## Interface + +```fortran +INTERFACE + MODULE SUBROUTINE InitiateFacetElements(obj) + CLASS(AbstractMesh_), INTENT(INOUT) :: obj + END SUBROUTINE InitiateFacetElements +END INTERFACE +``` diff --git a/docs/docs-api/AbstractMesh/InitiateNodeToElements.md b/docs/docs-api/AbstractMesh/InitiateNodeToElements.md new file mode 100644 index 00000000..1b7474a1 --- /dev/null +++ b/docs/docs-api/AbstractMesh/InitiateNodeToElements.md @@ -0,0 +1,24 @@ +# InitiateNodeToElements + +- This subroutine generates elements surrounding a node mapping, in other words it generates node to element. +- Element numbers returned by this routine are global element number. +- This mapping is stored inside `obj%nodeData` array +- For a local node number `ii`, `obj%nodeData(ii)%globalElements(:)` contains the global element numbers. + +:::note +Always use method called `getNodeToElements()` to access this information. +This method requires global Node number +::: + +:::caution +Always use the mapping between global node number and local node number to +avoid segmentation fault +::: + +```fortran +INTERFACE + MODULE SUBROUTINE InitiateNodeToElements(obj) + CLASS(Mesh_), INTENT(INOUT) :: obj + END SUBROUTINE InitiateNodeToElements +END INTERFACE +``` diff --git a/docs/docs-api/AbstractMesh/InitiateNodeToNodes.md b/docs/docs-api/AbstractMesh/InitiateNodeToNodes.md new file mode 100644 index 00000000..e01a32db --- /dev/null +++ b/docs/docs-api/AbstractMesh/InitiateNodeToNodes.md @@ -0,0 +1,18 @@ +# InitiateNodeToNodes + +This routine generate the node to nodes mapping + +- In other words, it generates info of node-numbers in mesh surrounding a node number +- This mapping is stored inside `obj%nodeData%globalNodeNum` +- For a local node number i, obj%nodeData(i)%globalNodeNum denotes the global node data surrounding the local node number. +- This list does not include self node. +- The method needs node-to-elements data, therefore if this data is not initiated, then this method calls `InitiateNodeToElements()`. + +```fortran +INTERFACE + MODULE SUBROUTINE InitiateNodetoNodes(obj) + CLASS(Mesh_), INTENT(INOUT) :: obj + !! mesh data + END SUBROUTINE InitiateNodetoNodes +END INTERFACE +``` diff --git a/docs/docs-api/Mesh/InternalFacetData_.md b/docs/docs-api/AbstractMesh/InternalFacetData_.md similarity index 97% rename from docs/docs-api/Mesh/InternalFacetData_.md rename to docs/docs-api/AbstractMesh/InternalFacetData_.md index cc5b49be..e55a5842 100644 --- a/docs/docs-api/Mesh/InternalFacetData_.md +++ b/docs/docs-api/AbstractMesh/InternalFacetData_.md @@ -1,5 +1,5 @@ --- -sidebar_position: 4 +sidebar_position: 5 title: InternalFacetData --- diff --git a/docs/docs-api/AbstractMesh/IsAllNodePresent.md b/docs/docs-api/AbstractMesh/IsAllNodePresent.md new file mode 100644 index 00000000..a8311b33 --- /dev/null +++ b/docs/docs-api/AbstractMesh/IsAllNodePresent.md @@ -0,0 +1,11 @@ +# IsAllNodePresent + +## Interface + +```fortran + MODULE PURE FUNCTION isAllNodePresent(obj, globalNode) RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + INTEGER(I4B), INTENT(IN) :: globalNode( : ) + LOGICAL(LGT) :: ans + END FUNCTION isAllNodePresent +``` diff --git a/docs/docs-api/AbstractMesh/IsAnyNodePresent.md b/docs/docs-api/AbstractMesh/IsAnyNodePresent.md new file mode 100644 index 00000000..13e4f999 --- /dev/null +++ b/docs/docs-api/AbstractMesh/IsAnyNodePresent.md @@ -0,0 +1,11 @@ +# IsAnyNodePresent + +## Interface + +```fortran + MODULE PURE FUNCTION isAnyNodePresent(obj, globalNode) RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + INTEGER(I4B), INTENT(IN) :: globalNode( : ) + LOGICAL(LGT) :: ans + END FUNCTION isAnyNodePresent +``` diff --git a/docs/docs-api/AbstractMesh/IsBoundaryElement.md b/docs/docs-api/AbstractMesh/IsBoundaryElement.md new file mode 100644 index 00000000..eaa1ca27 --- /dev/null +++ b/docs/docs-api/AbstractMesh/IsBoundaryElement.md @@ -0,0 +1,12 @@ +# IsBoundaryElement + +## Interface + +```fortran + MODULE PURE FUNCTION isBoundaryElement(obj, globalElement) & + & RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + INTEGER(I4B), INTENT(IN) :: globalElement + LOGICAL(LGT) :: ans + END FUNCTION isBoundaryElement +``` diff --git a/docs/docs-api/AbstractMesh/IsBoundaryNode.md b/docs/docs-api/AbstractMesh/IsBoundaryNode.md new file mode 100644 index 00000000..3649415a --- /dev/null +++ b/docs/docs-api/AbstractMesh/IsBoundaryNode.md @@ -0,0 +1,11 @@ +# IsBoundaryNode + +## Interface + +```fortran + MODULE PURE FUNCTION isBoundaryNode(obj, globalNode) RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + INTEGER(I4B), INTENT(IN) :: globalNode + LOGICAL(LGT) :: ans + END FUNCTION isBoundaryNode +``` diff --git a/docs/docs-api/AbstractMesh/IsDomainBoundaryElement.md b/docs/docs-api/AbstractMesh/IsDomainBoundaryElement.md new file mode 100644 index 00000000..b283dfc0 --- /dev/null +++ b/docs/docs-api/AbstractMesh/IsDomainBoundaryElement.md @@ -0,0 +1,12 @@ +# IsDomainBoundaryElement + +## Interface + +```fortran + MODULE PURE FUNCTION isDomainBoundaryElement(obj, globalElement) & + & RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + INTEGER(I4B), INTENT(IN) :: globalElement + LOGICAL(LGT) :: ans + END FUNCTION isDomainBoundaryElement +``` diff --git a/docs/docs-api/AbstractMesh/IsElementPresent.md b/docs/docs-api/AbstractMesh/IsElementPresent.md new file mode 100644 index 00000000..d742df22 --- /dev/null +++ b/docs/docs-api/AbstractMesh/IsElementPresent.md @@ -0,0 +1,11 @@ +# IsElementPresent + +## Interface + +```fortran + MODULE PURE FUNCTION isElementPresent(obj, GlobalElement) RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + INTEGER(I4B), INTENT(IN) :: GlobalElement + LOGICAL(LGT) :: ans + END FUNCTION isElementPresent +``` diff --git a/docs/docs-api/AbstractMesh/IsNodePresent.md b/docs/docs-api/AbstractMesh/IsNodePresent.md new file mode 100644 index 00000000..82b515ce --- /dev/null +++ b/docs/docs-api/AbstractMesh/IsNodePresent.md @@ -0,0 +1,11 @@ +# IsNodePresent + +## Interface + +```fortran + MODULE PURE FUNCTION isNodePresent(obj, globalNode) RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + INTEGER(I4B), INTENT(IN) :: globalNode + LOGICAL(LGT) :: ans + END FUNCTION isNodePresent +``` diff --git a/docs/docs-api/FEMesh/NodeData_.md b/docs/docs-api/AbstractMesh/NodeData_.md similarity index 97% rename from docs/docs-api/FEMesh/NodeData_.md rename to docs/docs-api/AbstractMesh/NodeData_.md index 44f30ea4..70ed76e3 100644 --- a/docs/docs-api/FEMesh/NodeData_.md +++ b/docs/docs-api/AbstractMesh/NodeData_.md @@ -1,5 +1,5 @@ --- -sidebar_position: 2 +sidebar_position: 4 --- # NodeData diff --git a/docs/docs-api/AbstractMesh/SetSparsity.md b/docs/docs-api/AbstractMesh/SetSparsity.md new file mode 100644 index 00000000..5ee98896 --- /dev/null +++ b/docs/docs-api/AbstractMesh/SetSparsity.md @@ -0,0 +1,97 @@ +# SetSparsity + +This method sets the sparsity in the `CSRMatrix`. + + + +## Interface 1 + +```fortran +INTERFACE + MODULE SUBROUTINE obj_SetSparsity1(obj, mat, localNodeNumber, lbound, & + & ubound) + CLASS(AbstractMesh_), INTENT(INOUT) :: obj + !! [[Mesh_]] class + TYPE(CSRMatrix_), INTENT(INOUT) :: mat + !! [[CSRMatrix_]] object + INTEGER(I4B), INTENT(IN) :: lbound + INTEGER(I4B), INTENT(IN) :: ubound + INTEGER(I4B), INTENT(IN) :: localNodeNumber(lbound:ubound) + !! Global to local node number map + END SUBROUTINE obj_SetSparsity1 +END INTERFACE +``` + +- `localNodeNumber` is used to convert the global node numbers of mesh to local node number in `mat` +- `lbound` and `ubound` are bounds of `localNodeNumber` + +The algorithm is as follows: + +1. Start loop of node numbers in mesh +2. Get the global node number of mesh +3. Get the global node numbers around this node +4. Use `localNodeNumber` to get the local node number of global node number (from step 3) +5. Call `SetSparsity` on `mat` from `base` lib. + +## Interface 2 + +```fortran +INTERFACE + MODULE SUBROUTINE obj_SetSparsity2(obj, mat) + CLASS(AbstractMesh_), INTENT(INOUT) :: obj + !! Mesh_ class + TYPE(CSRMatrix_), INTENT(INOUT) :: mat + !! CSRMatrix object + END SUBROUTINE obj_SetSparsity2 +END INTERFACE +``` + +## Inteface 3 + +```fortran +INTERFACE + MODULE SUBROUTINE obj_SetSparsity3(obj, colMesh, nodeToNode, mat, & + & ivar, jvar) + CLASS(AbstractMesh_), INTENT(INOUT) :: obj + !! Abstract mesh class + CLASS(AbstractMesh_), INTENT(INOUT) :: colMesh + !! Abstract mesh class + INTEGER(I4B), INTENT(IN) :: nodeToNode(:) + !! Node to node connectivity between obj and colMesh + TYPE(CSRMatrix_), INTENT(INOUT) :: mat + !! [[CSRMatrix_]] object + INTEGER(I4B), INTENT(IN) :: ivar + INTEGER(I4B), INTENT(IN) :: jvar + END SUBROUTINE obj_SetSparsity3 +END INTERFACE +``` + +## Interface 4 + +```fortran +INTERFACE + MODULE SUBROUTINE obj_SetSparsity4(obj, colMesh, nodeToNode, mat, & + rowGlobalToLocalNodeNum, rowLBOUND, rowUBOUND, & + colGlobalToLocalNodeNum, colLBOUND, colUBOUND, ivar, jvar) + CLASS(AbstractMesh_), INTENT(INOUT) :: obj + !! [[Mesh_]] class + CLASS(AbstractMesh_), INTENT(INOUT) :: colMesh + !! [[Mesh_]] class + INTEGER(I4B), INTENT(IN) :: nodeToNode(:) + !! node to node connectivity between obj and colMesh + TYPE(CSRMatrix_), INTENT(INOUT) :: mat + !! [[CSRMatrix_]] object + INTEGER(I4B), INTENT(IN) :: rowLBOUND + INTEGER(I4B), INTENT(IN) :: rowUBOUND + INTEGER(I4B), INTENT(IN) :: rowGlobalToLocalNodeNum( & + & rowLBOUND:rowUBOUND) + !! Global to local node number map + INTEGER(I4B), INTENT(IN) :: colLBOUND + INTEGER(I4B), INTENT(IN) :: colUBOUND + INTEGER(I4B), INTENT(IN) :: colGlobalToLocalNodeNum( & + & colLBOUND:colUBOUND) + INTEGER(I4B), INTENT(IN) :: ivar + INTEGER(I4B), INTENT(IN) :: jvar + END SUBROUTINE obj_SetSparsity4 +END INTERFACE +``` diff --git a/docs/docs-api/AbstractMesh/Size.md b/docs/docs-api/AbstractMesh/Size.md new file mode 100644 index 00000000..23e512e6 --- /dev/null +++ b/docs/docs-api/AbstractMesh/Size.md @@ -0,0 +1,11 @@ +# Size + +## Interface + +```fortran + MODULE PURE FUNCTION size(obj) RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + !! mesh object + INTEGER(I4B) :: ans + END FUNCTION size +``` diff --git a/docs/docs-api/AbstractMesh/index.md b/docs/docs-api/AbstractMesh/index.md index 7d0a650c..95fc6c9c 100644 --- a/docs/docs-api/AbstractMesh/index.md +++ b/docs/docs-api/AbstractMesh/index.md @@ -13,3 +13,15 @@ status: stable --- # AbstractMesh + +`AbstractMesh_` datatype handles the finite element mesh. + +import EXAMPLE26 from "./AbstractMesh_.md"; + + + +## All methods + +import DocCardList from '@theme/DocCardList'; + + diff --git a/docs/docs-api/DirichletBC/DirichletBC_.md b/docs/docs-api/DirichletBC/DirichletBC_.md index 86ae73e3..9a64331d 100644 --- a/docs/docs-api/DirichletBC/DirichletBC_.md +++ b/docs/docs-api/DirichletBC/DirichletBC_.md @@ -14,7 +14,7 @@ TYPE, EXTENDS(AbstractBC_) :: DirichletBC_ The module `DirichletBC_Class` defines following routines. -- [DEALLOCATE](Deallocate) -- [AddDirichletBC](AddDirichletBC) -- [GetDirichletBCPointer](GetDirichletBCPointer) -- [DirichletBCImportFromToml](DirichletBCImportFromToml) +- [DEALLOCATE](./Deallocate.md) +- [AddDirichletBC](./AddDirichletBC) +- [GetDirichletBCPointer](./GetDirichletBCPointer) +- [DirichletBCImportFromToml](./DirichletBCImportFromToml) diff --git a/docs/docs-api/DirichletBC/Initiate.md b/docs/docs-api/DirichletBC/Initiate.md index 2410d018..b2f7a986 100644 --- a/docs/docs-api/DirichletBC/Initiate.md +++ b/docs/docs-api/DirichletBC/Initiate.md @@ -8,6 +8,8 @@ import EXAMPLE3 from "@site/docs/docs-api/AbstractBC/Initiate.md"; +## Examples + diff --git a/docs/docs-api/DirichletBC/examples/_ImportFromToml_test_1.F90 b/docs/docs-api/DirichletBC/examples/_ImportFromToml_test_1.F90 index ab866ab2..ec3c6f65 100644 --- a/docs/docs-api/DirichletBC/examples/_ImportFromToml_test_1.F90 +++ b/docs/docs-api/DirichletBC/examples/_ImportFromToml_test_1.F90 @@ -1,5 +1,24 @@ ! Import from toml ! Constant function +! +! In this example we will initiate an instance of `DirichletBC_` by importing data from `toml` configuration. +! +! The content of toml config file is given below +! +! ```toml +! [bc1] +! name = "DirichletBC" +! idof = 1 +! nodalValueType = "Constant" +! value = 10.0 +! +! [bc1.boundary] +! isSelectionByMeshID = true +! [bc1.boundary.meshID] +! surface = [1, 2] +! ``` +! +! Note that in the boundary condition is constant, and mesh is selected by mesh-id. PROGRAM main USE easifemBase diff --git a/docs/docs-api/DirichletBC/examples/_ImportFromToml_test_1.md b/docs/docs-api/DirichletBC/examples/_ImportFromToml_test_1.md index eecbd515..84fabb19 100644 --- a/docs/docs-api/DirichletBC/examples/_ImportFromToml_test_1.md +++ b/docs/docs-api/DirichletBC/examples/_ImportFromToml_test_1.md @@ -1,51 +1,7 @@ -In this example we will initiate an instance of `DirichletBC_` by importing data from `toml` configuration. -The content of toml config file is given below +import CodeBlock from '@theme/CodeBlock'; -
-Click here to see the toml file -
+import CodeSnippet from '!!raw-loader!./_ImportFromToml_test_1.F90'; -```toml -[bc1] -name = "DirichletBC" -idof = 1 -nodalValueType = "Constant" -value = 10.0 +{CodeSnippet} -[bc1.boundary] -isSelectionByMeshID = true -[bc1.boundary.meshID] -surface = [1, 2] -``` - -Note that in the boundary condition is constant, and mesh is selected by mesh-id. - -
-
- -```fortran -PROGRAM main -USE easifemBase -USE easifemClasses -IMPLICIT NONE - -TYPE(DirichletBC_) :: obj -TYPE(Domain_) :: dom -TYPE(HDF5File_) :: domainfile -CHARACTER(*), PARAMETER :: domainfilename = "./mesh3D.h5" -CHARACTER(*), PARAMETER :: tomlFileName = "./DirichletBC.toml" -INTEGER(I4B) :: bottom = 1, top = 2, left = 3, right = 4, front = 5, behind = 6 - -CALL FPL_Init() -CALL domainfile%Initiate(filename=domainfilename, mode="READ") -CALL domainfile%OPEN() -CALL dom%Initiate(domainfile, group="") -CALL obj%ImportFromToml(filename=tomlFileName, dom=dom, tomlName="bc") -CALL obj%Display("DirichletBC = ") - -CALL domainfile%DEALLOCATE() -CALL dom%DEALLOCATE() -CALL FPL_Finalize() -END PROGRAM main -``` diff --git a/docs/docs-api/DirichletBC/examples/_ImportFromToml_test_2.F90 b/docs/docs-api/DirichletBC/examples/_ImportFromToml_test_2.F90 index 484845f8..1a8bcf3d 100644 --- a/docs/docs-api/DirichletBC/examples/_ImportFromToml_test_2.F90 +++ b/docs/docs-api/DirichletBC/examples/_ImportFromToml_test_2.F90 @@ -1,5 +1,30 @@ ! Import from toml ! we define userfunction in the config file. +! +! Initiate an instance of `DirichletBC_` by importing config from a Toml file. +! +! In the toml file we define details of [UserFunction](/docs-api/UserFunction). +! +! ```toml +! [bc2] +! name = "DirichletBC" +! idof = 1 +! nodalValueType = "Constant" +! isUserFunction = true +! +! [bc2.function] +! name = "func" +! returnType = "Scalar" +! argType = "Constant" +! value = 10.0 +! +! # boundary +! [bc2.boundary] +! isSelectionByMeshID = true +! +! [bc2.boundary.meshID] +! surface = [1, 2] +! ``` PROGRAM main USE easifemBase diff --git a/docs/docs-api/DirichletBC/examples/_ImportFromToml_test_2.md b/docs/docs-api/DirichletBC/examples/_ImportFromToml_test_2.md index 12279136..2d1f273f 100644 --- a/docs/docs-api/DirichletBC/examples/_ImportFromToml_test_2.md +++ b/docs/docs-api/DirichletBC/examples/_ImportFromToml_test_2.md @@ -1,65 +1,7 @@ -Initiate an instance of `DirichletBC_` by importing config from a Toml file. -In the toml file we define details of [UserFunction](/docs-api/UserFunction). +import CodeBlock from '@theme/CodeBlock'; -
-Click here to see the toml file -
+import CodeSnippet from '!!raw-loader!./_ImportFromToml_test_2.F90'; -```toml -[bc2] -name = "DirichletBC" -idof = 1 -nodalValueType = "Constant" -isUserFunction = true +{CodeSnippet} -[bc2.function] -name = "func" -returnType = "Scalar" -argType = "Constant" -value = 10.0 - -# boundary -[bc2.boundary] -isSelectionByMeshID = true - -[bc2.boundary.meshID] -surface = [1, 2] -``` - -
-
- -```fortran -PROGRAM main -USE easifemBase -USE easifemClasses -IMPLICIT NONE - -TYPE(DirichletBC_) :: obj -TYPE(Domain_) :: dom -TYPE(HDF5File_) :: domainfile -CHARACTER(*), PARAMETER :: domainfilename = "./mesh3D.h5" -CHARACTER(*), PARAMETER :: tomlFileName = "./DirichletBC.toml" -INTEGER(I4B) :: bottom = 1, top = 2, left = 3, right = 4, & - & front = 5, behind = 6 -INTEGER(I4B), ALLOCATABLE :: nodeNum(:) -REAL(DFP), ALLOCATABLE :: nodalValue(:, :) - -CALL FPL_Init() -CALL domainfile%Initiate(filename=domainfilename, mode="READ") -CALL domainfile%OPEN() -CALL dom%Initiate(domainfile, group="") -CALL obj%ImportFromToml(filename=tomlFileName, dom=dom, tomlName="bc2") - -CALL obj%Get(nodeNum=nodeNum, nodalValue=nodalValue) - -CALL Display(nodeNum, "nodeNum", advance="NO") -CALL Display(nodalValue, "nodalValue", advance="YES") -CALL display(SIZE(nodeNum), "size = ") - -CALL domainfile%DEALLOCATE() -CALL dom%DEALLOCATE() -CALL FPL_Finalize() -END PROGRAM main -``` diff --git a/docs/docs-api/DirichletBC/examples/_ImportFromToml_test_3.F90 b/docs/docs-api/DirichletBC/examples/_ImportFromToml_test_3.F90 index 41973f55..e829b1b5 100644 --- a/docs/docs-api/DirichletBC/examples/_ImportFromToml_test_3.F90 +++ b/docs/docs-api/DirichletBC/examples/_ImportFromToml_test_3.F90 @@ -1,5 +1,31 @@ ! Import from toml ! we define userfunction in the config file. +! +! Initiate an instance of `DirichletBC_` by importing config from a Toml file. +! +! In the toml file we define details of [UserFunction](/docs-api/UserFunction). +! +! ```toml +! [bc3] +! name = "DirichletBC" +! idof = 1 +! nodalValueType = "Space" +! isUserFunction = true +! +! [bc3.function] +! name = "func" +! returnType = "Scalar" +! argType = "Space" +! luaScript = "DirichletBC.lua" +! luaFunctionName = "Func1" +! +! # boundary +! [bc3.boundary] +! isSelectionByMeshID = true +! +! [bc3.boundary.meshID] +! surface = [1] +! ``` PROGRAM main USE easifemBase diff --git a/docs/docs-api/DirichletBC/examples/_ImportFromToml_test_3.md b/docs/docs-api/DirichletBC/examples/_ImportFromToml_test_3.md index cf031627..e4e669a7 100644 --- a/docs/docs-api/DirichletBC/examples/_ImportFromToml_test_3.md +++ b/docs/docs-api/DirichletBC/examples/_ImportFromToml_test_3.md @@ -1,36 +1,3 @@ -Initiate an instance of `DirichletBC_` by importing config from a Toml file. - -In the toml file we define details of [UserFunction](/docs-api/UserFunction). - -
-Click here to see the toml file -
- -```toml -[bc3] -name = "DirichletBC" -idof = 1 -nodalValueType = "Space" -isUserFunction = true - -[bc3.function] -name = "func" -returnType = "Scalar" -argType = "Space" -luaScript = "DirichletBC.lua" -luaFunctionName = "Func1" - -# boundary -[bc3.boundary] -isSelectionByMeshID = true - -[bc3.boundary.meshID] -surface = [1] -``` - -
-
- ```fortran PROGRAM main USE easifemBase diff --git a/docs/docs-api/DirichletBC/examples/_Initiate_test_1.md b/docs/docs-api/DirichletBC/examples/_Initiate_test_1.md index 0ce65366..fdaba123 100644 --- a/docs/docs-api/DirichletBC/examples/_Initiate_test_1.md +++ b/docs/docs-api/DirichletBC/examples/_Initiate_test_1.md @@ -1,55 +1,7 @@ -```fortran -PROGRAM main -USE easifemBase -USE easifemClasses -IMPLICIT NONE -TYPE(DirichletBC_) :: obj -TYPE(MeshSelection_) :: boundary -TYPE(ParameterList_) :: param -TYPE(Domain_) :: dom -TYPE(HDF5File_) :: domainfile -CHARACTER(*), PARAMETER :: domainfilename = "./mesh3D.h5" -INTEGER(I4B) :: bottom = 1, top = 2, left = 3, right = 4, & - & front = 5, behind = 6, nsd -INTEGER(I4B), ALLOCATABLE :: nodeNum(:) -REAL(DFP), ALLOCATABLE :: nodalValue(:, :) +import CodeBlock from '@theme/CodeBlock'; -CALL FPL_Init; CALL param%Initiate() -CALL domainfile%Initiate(filename=domainfilename, mode="READ") -CALL domainfile%OPEN() -CALL dom%Initiate(domainfile, group="") +import CodeSnippet from '!!raw-loader!./_Initiate_test_1.F90'; -nsd = dom%GetNSD() +{CodeSnippet} -! We call Set SetAbstractBCParam to set the parameter for boundary condition -CALL SetAbstractBCParam(param=param, prefix=obj%GetPrefix(), & - & name="ZeroBC", idof=1, nodalValueType=Constant) - -! We call SetMeshSelectionParam to set the parameter for boundary condition -CALL SetMeshSelectionParam(param=param, prefix=boundary%GetPrefix(), & - & isSelectionByMeshID=.TRUE.) - -CALL boundary%Initiate(param) - -CALL boundary%Add(dom=dom, dim=nsd - 1, meshID=[top]) -CALL boundary%Set() - -CALL boundary%Display("boundary") - -CALL obj%Initiate(param=param, boundary=boundary, dom=dom) - -CALL obj%Set(constantNodalValue=0.0_DFP) - -CALL obj%Display("dbc"//CHAR_LF) - -CALL obj%Get(nodeNum=nodeNum, nodalValue=nodalValue) - -CALL Display(nodeNum, "nodeNum", advance="NO") -CALL Display(nodalValue, "nodalValue", advance="YES") - -CALL domainfile%DEALLOCATE() -CALL dom%DEALLOCATE() -CALL param%DEALLOCATE(); CALL FPL_Finalize -END PROGRAM main -``` diff --git a/docs/docs-api/DirichletBC/examples/_Initiate_test_2.F90 b/docs/docs-api/DirichletBC/examples/_Initiate_test_2.F90 index e32b906d..58d4281f 100644 --- a/docs/docs-api/DirichletBC/examples/_Initiate_test_2.F90 +++ b/docs/docs-api/DirichletBC/examples/_Initiate_test_2.F90 @@ -4,8 +4,8 @@ ! !# Introduction ! -! Initiate an instance of DirichletBC for -! Constant boundary condition +! Initiate an instance of DirichletBC for Constant boundary condition +! In this example we initiate an instance of [DirichletBC](/docs-api/DirichletBC) by using the [UserFunction](/docs-api/UserFunction). The user function will be configured to give constant value. We will define a pointer to `UserFunction_` and then call [Set](/docs-api/AbstractBC/Set) method. Then, the `Set` method will point to the user supplied `UserFunction`. PROGRAM main USE easifemBase @@ -26,6 +26,8 @@ PROGRAM main INTEGER(I4B), ALLOCATABLE :: nodeNum(:) REAL(DFP), ALLOCATABLE :: nodalValue(:, :) +! Initiate Domain + CALL FPL_Init; CALL param%Initiate() CALL domainfile%Initiate(filename=domainfilename, mode="READ") CALL domainfile%OPEN() @@ -53,14 +55,18 @@ PROGRAM main ! Initiate DirichletBC CALL obj%Initiate(param=param, boundary=boundary, dom=dom) +! Initiate user function. + ALLOCATE (func) CALL func%Initiate(param) CALL func%Set(scalarValue=1.0_DFP) +! Set the user function to `DirichletBC` by calling [Set](/docs-api/DirichletBC/Set) method. CALL obj%Set(userFunction=func) CALL obj%Display("dbc"//CHAR_LF) +! Get the value from `DirichletBC` by calling [Get](/docs-api/DirichletBC/Get) method. CALL obj%Get(nodeNum=nodeNum, nodalValue=nodalValue) CALL Display(nodeNum, "nodeNum", advance="NO") diff --git a/docs/docs-api/DirichletBC/examples/_Initiate_test_2.md b/docs/docs-api/DirichletBC/examples/_Initiate_test_2.md index ea56dec3..37a0ddfc 100644 --- a/docs/docs-api/DirichletBC/examples/_Initiate_test_2.md +++ b/docs/docs-api/DirichletBC/examples/_Initiate_test_2.md @@ -1,96 +1,7 @@ -In this example we initiate an instance of [DirichletBC](/docs-api/DirichletBC) by using the [UserFunction](/docs-api/UserFunction). The user function will be configured to give constant value. -We will define a pointer to `UserFunction_` and then call [Set](/docs-api/AbstractBC/Set) method. Then, the `Set` method will point to the user supplied `UserFunction`. +import CodeBlock from '@theme/CodeBlock'; -```fortran -PROGRAM main -USE easifemBase -USE easifemClasses -IMPLICIT NONE +import CodeSnippet from '!!raw-loader!./_Initiate_test_2.F90'; -CHARACTER(*), PARAMETER :: myName = "main" -CHARACTER(*), PARAMETER :: modName = "main" -TYPE(DirichletBC_) :: obj -TYPE(MeshSelection_) :: boundary -TYPE(ParameterList_) :: param -TYPE(Domain_) :: dom -TYPE(HDF5File_) :: domainfile -CLASS(UserFunction_), POINTER :: func -CHARACTER(*), PARAMETER :: domainfilename = "./mesh3D.h5" -INTEGER(I4B) :: bottom = 1, top = 2, left = 3, right = 4, & - & front = 5, behind = 6, nsd -INTEGER(I4B), ALLOCATABLE :: nodeNum(:) -REAL(DFP), ALLOCATABLE :: nodalValue(:, :) -``` +{CodeSnippet} -Initiate [Domain](/docs-api/Domain). - -```fortran -CALL FPL_Init; CALL param%Initiate() -CALL domainfile%Initiate(filename=domainfilename, mode="READ") -CALL domainfile%OPEN() -CALL dom%Initiate(domainfile, group="") -nsd = dom%GetNSD() -``` - -We call Set `SetAbstractBCParam` to set the parameter for boundary condition. - -```fortran -CALL SetAbstractBCParam(param=param, prefix=obj%GetPrefix(), & - & name="ZeroBC", idof=1, nodalValueType=Constant, isUserFunction=.TRUE.) -``` - -We call `SetMeshSelectionParam` to set the parameter for boundary condition. - -```fortran -CALL SetMeshSelectionParam(param=param, prefix=boundary%GetPrefix(), & - & isSelectionByMeshID=.TRUE.) -``` - -We call `SetUserFunctionParam` to set the parameter for boundary condition. - -```fortran -CALL SetUserFunctionParam(param=param, name="bc", returnType=Scalar, & - & argType=Constant) -``` - -Initiate boundary. - -```fortran -CALL boundary%Initiate(param) -CALL boundary%Add(dom=dom, dim=nsd - 1, meshID=[top]) -CALL boundary%Set() -``` - -[Initiate](/docs-api/DirichletBC/Initiate) `DirichletBC_`. - -```fortran -CALL obj%Initiate(param=param, boundary=boundary, dom=dom) -``` - -Initiate user function. - -```fortran -ALLOCATE (func) -CALL func%Initiate(param) -CALL func%Set(scalarValue=1.0_DFP) -``` - -Set the user function to `DirichletBC` by calling [Set](/docs-api/DirichletBC/Set) method. - -```fortran -CALL obj%Set(userFunction=func) -``` - -Get the value from `DirichletBC` by calling [Get](/docs-api/DirichletBC/Get) method. - -```fortran -CALL obj%Get(nodeNum=nodeNum, nodalValue=nodalValue) -``` - -```fortran -CALL domainfile%DEALLOCATE() -CALL dom%DEALLOCATE() -CALL param%DEALLOCATE(); CALL FPL_Finalize -END PROGRAM main -``` diff --git a/docs/docs-api/DirichletBC/examples/_Initiate_test_3.F90 b/docs/docs-api/DirichletBC/examples/_Initiate_test_3.F90 index 79d04159..0dd16892 100644 --- a/docs/docs-api/DirichletBC/examples/_Initiate_test_3.F90 +++ b/docs/docs-api/DirichletBC/examples/_Initiate_test_3.F90 @@ -1,3 +1,20 @@ +!> author: Vikas Sharma, Ph. D. +! da te: 2025-05-11 +! summary: Initiate an instance of DirichletBC +! +! In this example we initiate an instance of [DirichletBC](/docs-api/DirichletBC) by using the +![UserFunction](/docs-api/UserFunction). +! +! The user function will be configured to give space-dependent value. +! In other words, we implement following boundary condition. +! +! $$ +! u = g(x, y, z) +! $$ +! +! We will define a pointer to `UserFunction_` and then call [Set](/docs-api/AbstractBC/Set) method. +! Then, the `Set` method will point to the user supplied `UserFunction`. +! PROGRAM main USE easifemBase USE easifemClasses diff --git a/docs/docs-api/DirichletBC/examples/_Initiate_test_3.md b/docs/docs-api/DirichletBC/examples/_Initiate_test_3.md index c705bd4f..8bf94822 100644 --- a/docs/docs-api/DirichletBC/examples/_Initiate_test_3.md +++ b/docs/docs-api/DirichletBC/examples/_Initiate_test_3.md @@ -1,110 +1,7 @@ -In this example we initiate an instance of [DirichletBC](/docs-api/DirichletBC) by using the -[UserFunction](/docs-api/UserFunction). -The user function will be configured to give space-dependent value. -In other words, we implement following boundary condition. -$$ -u = g(x, y, z) -$$ +import CodeBlock from '@theme/CodeBlock'; -We will define a pointer to `UserFunction_` and then call [Set](/docs-api/AbstractBC/Set) method. -Then, the `Set` method will point to the user supplied `UserFunction`. +import CodeSnippet from '!!raw-loader!./_Initiate_test_3.F90'; -```fortran -PROGRAM main -USE easifemBase -USE easifemClasses -IMPLICIT NONE +{CodeSnippet} -CHARACTER(*), PARAMETER :: myName = "main" -CHARACTER(*), PARAMETER :: modName = "main" -TYPE(DirichletBC_) :: obj -TYPE(MeshSelection_) :: boundary -TYPE(ParameterList_) :: param -TYPE(Domain_) :: dom -TYPE(HDF5File_) :: domainfile -CLASS(UserFunction_), POINTER :: func -CHARACTER(*), PARAMETER :: domainfilename = "./mesh3D.h5" -INTEGER(I4B) :: bottom = 1, top = 2, left = 3, right = 4, & - & front = 5, behind = 6, nsd -INTEGER(I4B), ALLOCATABLE :: nodeNum(:) -REAL(DFP), ALLOCATABLE :: nodalValue(:, :) -PROCEDURE(iface_ScalarFunction), POINTER :: scalarFunction => NULL() -``` - -Initiate domain. - -```fortran -CALL FPL_Init; CALL param%Initiate() -CALL domainfile%Initiate(filename=domainfilename, mode="READ") -CALL domainfile%OPEN() -CALL dom%Initiate(domainfile, group="") -nsd = dom%GetNSD() -``` - -We call Set [SetAbstractBCParam](/docs-api/AbstractBC/SetAbstractBCParam) to set the parameter for boundary condition. - -```fortran -CALL SetAbstractBCParam(param=param, prefix=obj%GetPrefix(), & - & name="ZeroBC", idof=1, nodalValueType=Space, isUserFunction=.TRUE.) -``` - -We call [SetMeshSelectionParam](/docs-api/MeshSelection/SetMeshSelectionParam) to set the parameter for boundary condition. - -```fortran -CALL SetMeshSelectionParam(param=param, prefix=boundary%GetPrefix(), & - & isSelectionByMeshID=.TRUE.) -``` - -We call [SetUserFunctionParam](/docs-api/UserFunction/SetUserFunctionParam) to set the parameter for boundary condition. - -```fortran -CALL SetUserFunctionParam(param=param, name="bc", returnType=Scalar, & - & argType=Space) -``` - -[Initiate](docs-api/MeshSelection/Initiate) boundary condition. - -```fortran -CALL boundary%Initiate(param) -CALL boundary%Add(dom=dom, dim=nsd - 1, meshID=[top]) -CALL boundary%Set() -``` - -[Initiate](docs-api/DirichletBC/Initiate) Dirichlet boundary condition. - -```fortran -CALL obj%Initiate(param=param, boundary=boundary, dom=dom) -``` - -[Initiate](docs-api/UserFunction/Initiate) user function. - -```fortran -ALLOCATE (func) -CALL func%Initiate(param) -scalarFunction => func1 -CALL func%Set(scalarFunction=scalarFunction) -``` - -```fortran -CALL obj%Set(userFunction=func) -``` - -```fortran -CALL obj%Get(nodeNum=nodeNum, nodalValue=nodalValue) -``` - -```fortran -CALL domainfile%DEALLOCATE() -CALL dom%DEALLOCATE() -CALL param%DEALLOCATE(); CALL FPL_Finalize - - -contains -pure function func1(x) result(ans) - REAL( DFP ), OPTIONAL, INTENT( IN ) :: x(:) - REAL( DFP ) :: ans - ans = x(1) + x(2) + x(3) -end function func1 -END PROGRAM main -``` diff --git a/docs/docs-api/DirichletBC/examples/_SetElemToLocalBoundary_test_1.md b/docs/docs-api/DirichletBC/examples/_SetElemToLocalBoundary_test_1.md new file mode 100644 index 00000000..ae63882c --- /dev/null +++ b/docs/docs-api/DirichletBC/examples/_SetElemToLocalBoundary_test_1.md @@ -0,0 +1,7 @@ + +import CodeBlock from '@theme/CodeBlock'; + +import CodeSnippet from '!!raw-loader!./_SetElemToLocalBoundary_test_1.F90'; + +{CodeSnippet} + diff --git a/docs/docs-api/DirichletBC/examples/mesh3D.vtk b/docs/docs-api/DirichletBC/examples/mesh3D.vtk deleted file mode 100644 index 4df12f6c..00000000 Binary files a/docs/docs-api/DirichletBC/examples/mesh3D.vtk and /dev/null differ diff --git a/docs/docs-api/Domain/InitiateBoundaryData.md b/docs/docs-api/Domain/InitiateBoundaryData.md index d0368da3..0f034ab2 100644 --- a/docs/docs-api/Domain/InitiateBoundaryData.md +++ b/docs/docs-api/Domain/InitiateBoundaryData.md @@ -2,7 +2,7 @@ - This routine sets the boundary-data information in each mesh of domain. - For information please read [InitiateBoundaryData](../Mesh/InitiateBoundaryData.md). -- After calling, `InitiateBoundaryData()` on each mesh, this routine makes an internal call to `SetFacetElementType`, for information see [SetFacetElementType](SetFacetElementType.md). +- After calling, `InitiateBoundaryData()` on each mesh, this routine makes an internal call to `SetFacetElementType`, for information see [SetFacetElementType](./SetFacetElementType.md). ```fortran INTERFACE diff --git a/docs/docs-api/Domain/InitiateFacetElements.md b/docs/docs-api/Domain/InitiateFacetElements.md index 1f25da03..75995182 100644 --- a/docs/docs-api/Domain/InitiateFacetElements.md +++ b/docs/docs-api/Domain/InitiateFacetElements.md @@ -4,16 +4,14 @@ This routine initiates the facet element information for every mesh of the domai More details are given in the following pages. -- [BoundaryFacetData_](../Mesh/BoundaryFacetData_.md) -- [InternalFacetData_](../Mesh/InternalFacetData_.md) - [InitiateFacetElements](../Mesh/InitiateFacetElements.md) This routine makes an internal call to [InitiateFacetElements](../Mesh/InitiateFacetElements.md) from [Mesh_](../Mesh/Mesh_.md). Please check documentation of following methods: -- [SetDomainFacetElement](SetDomainFacetElement.md) -- [SetFacetElementType](SetFacetElementType.md) +- [SetDomainFacetElement](./SetDomainFacetElement.md) +- [SetFacetElementType](./SetFacetElementType.md) ## Interface diff --git a/docs/docs-api/FEDomain/InitiateFacetElements.md b/docs/docs-api/FEDomain/InitiateFacetElements.md index 1f25da03..763680a7 100644 --- a/docs/docs-api/FEDomain/InitiateFacetElements.md +++ b/docs/docs-api/FEDomain/InitiateFacetElements.md @@ -2,18 +2,14 @@ This routine initiates the facet element information for every mesh of the domain. -More details are given in the following pages. +- [InitiateFacetElements](../FEMesh/InitiateFacetElements.md) -- [BoundaryFacetData_](../Mesh/BoundaryFacetData_.md) -- [InternalFacetData_](../Mesh/InternalFacetData_.md) -- [InitiateFacetElements](../Mesh/InitiateFacetElements.md) - -This routine makes an internal call to [InitiateFacetElements](../Mesh/InitiateFacetElements.md) from [Mesh_](../Mesh/Mesh_.md). +This routine makes an internal call to [InitiateFacetElements](../FEMesh/InitiateFacetElements.md) from [FEMesh_](../FEMesh/FEMesh_.md). Please check documentation of following methods: -- [SetDomainFacetElement](SetDomainFacetElement.md) -- [SetFacetElementType](SetFacetElementType.md) +- [SetDomainFacetElement](./SetDomainFacetElement.md) +- [SetFacetElementType](./SetFacetElementType.md) ## Interface diff --git a/docs/docs-api/FEDomain/SetDomainFacetElement.md b/docs/docs-api/FEDomain/SetDomainFacetElement.md index b3fef5d5..4e4cb068 100644 --- a/docs/docs-api/FEDomain/SetDomainFacetElement.md +++ b/docs/docs-api/FEDomain/SetDomainFacetElement.md @@ -2,7 +2,7 @@ This routine sets the domain boundary element for cells and faces. -When we call [InitiateFacetElements](../Mesh/InitiateFacetElements.md) for mesh, we can only identify boundary-facet-elements (i.e., boundary elements of the mesh). Moreover, when we call [InitiateFacetElements](../Mesh/InitiateFacetElements.md) from mesh or domain, all the facet elements are tagged as `DOMAIN_BOUNDARY_ELEMENT`. +When we call [InitiateFacetElements](../FEMesh/InitiateFacetElements.md) for mesh, we can only identify boundary-facet-elements (i.e., boundary elements of the mesh). Moreover, when we call [InitiateFacetElements](../FEMesh/InitiateFacetElements.md) from mesh or domain, all the facet elements are tagged as `DOMAIN_BOUNDARY_ELEMENT`. However, some of these boundary facet-elements will be located at the domain’s boundary. These facet elements are called `DOMAIN_BOUNDARY_ELEMENT`. @@ -11,7 +11,7 @@ Some of the facet elements will be at located at the interface of two mesh regio This method correctly differentiates between `BOUNDARY_ELEMENT` and `DOMAIN_BOUNDARY_ELEMENT`. :::info -This routine needs facet element data information stored inside the mesh. Therefore, if for a mesh `isFacetDataInitiated` is false, then this routine will make a call to [InitiateFacetElements](../Mesh/InitiateFacetElements.md) for that mesh. +This routine needs facet element data information stored inside the mesh. Therefore, if for a mesh `isFacetDataInitiated` is false, then this routine will make a call to [InitiateFacetElements](../FEMesh/InitiateFacetElements.md) for that mesh. ::: ## Interface diff --git a/docs/docs-api/FEMesh/Display.md b/docs/docs-api/FEMesh/Display.md index d2d2d04f..3853fda6 100644 --- a/docs/docs-api/FEMesh/Display.md +++ b/docs/docs-api/FEMesh/Display.md @@ -1,16 +1,10 @@ # Display -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: + +import EXAMPLE5 from "../AbstractMesh/Display.md"; + + -```fortran -INTERFACE - MODULE SUBROUTINE mesh_display(obj, msg, UnitNo) - CLASS(Mesh_), INTENT(INOUT) :: obj - !! mesh object - CHARACTER(*), INTENT(IN) :: msg - !! message on screen - INTEGER(I4B), OPTIONAL, INTENT(IN) :: UnitNo - !! unit number of ouput file - END SUBROUTINE mesh_display -END INTERFACE -``` diff --git a/docs/docs-api/FEMesh/DisplayBoundaryFacetData.md b/docs/docs-api/FEMesh/DisplayBoundaryFacetData.md index e5548186..2a74909c 100644 --- a/docs/docs-api/FEMesh/DisplayBoundaryFacetData.md +++ b/docs/docs-api/FEMesh/DisplayBoundaryFacetData.md @@ -1,13 +1,11 @@ -# DisplayBoundaryFacetData +--- +title: DisplayBoundaryFacetData +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran -INTERFACE - MODULE SUBROUTINE mesh_DisplayBoundaryFacetData(obj, msg, unitno) - CLASS(Mesh_), INTENT(IN) :: obj - CHARACTER(*), INTENT(IN) :: msg - INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno - END SUBROUTINE mesh_DisplayBoundaryFacetData -END INTERFACE -``` +import EXAMPLE5 from "../AbstractMesh/DisplayBoundaryFacetData.md"; + + diff --git a/docs/docs-api/FEMesh/DisplayElementData.md b/docs/docs-api/FEMesh/DisplayElementData.md index 22b7ad6a..1e8fe337 100644 --- a/docs/docs-api/FEMesh/DisplayElementData.md +++ b/docs/docs-api/FEMesh/DisplayElementData.md @@ -1,13 +1,12 @@ -# DisplayElementData - -## Interface - -```fortran -INTERFACE - MODULE SUBROUTINE mesh_DisplayElementData(obj, msg, unitno) - CLASS(Mesh_), INTENT(IN) :: obj - CHARACTER(*), INTENT(IN) :: msg - INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno - END SUBROUTINE mesh_DisplayElementData -END INTERFACE -``` +--- +title: DisplayElementData +--- + +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: + +import EXAMPLE5 from "../AbstractMesh/DisplayElementData.md"; + + + diff --git a/docs/docs-api/FEMesh/DisplayFacetElemSD.md b/docs/docs-api/FEMesh/DisplayFacetElemSD.md index 7ebb5a9e..b06bbfc6 100644 --- a/docs/docs-api/FEMesh/DisplayFacetElemSD.md +++ b/docs/docs-api/FEMesh/DisplayFacetElemSD.md @@ -1,13 +1,12 @@ -# DisplayFacetElemSD - -## Interface - -```fortran -INTERFACE - MODULE SUBROUTINE mesh_DisplayFacetElements(obj, msg, unitno) - CLASS(Mesh_), INTENT(IN) :: obj - CHARACTER(*), INTENT(IN) :: msg - INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno - END SUBROUTINE mesh_DisplayFacetElements -END INTERFACE -``` +--- +title: DisplayFacetElemSD +--- + +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: + +import EXAMPLE5 from "../AbstractMesh/DisplayFacetElemSD.md"; + + + diff --git a/docs/docs-api/FEMesh/DisplayFacetElements.md b/docs/docs-api/FEMesh/DisplayFacetElements.md index f88e3b4e..51a302c3 100644 --- a/docs/docs-api/FEMesh/DisplayFacetElements.md +++ b/docs/docs-api/FEMesh/DisplayFacetElements.md @@ -1,13 +1,12 @@ -# DisplayFacetElements - -## Interface - -```fortran -INTERFACE - MODULE SUBROUTINE mesh_DisplayFacetElements(obj, msg, unitno) - CLASS(Mesh_), INTENT(IN) :: obj - CHARACTER(*), INTENT(IN) :: msg - INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno - END SUBROUTINE mesh_DisplayFacetElements -END INTERFACE -``` +--- +title: DisplayFacetElements +--- + +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: + +import EXAMPLE5 from "../AbstractMesh/DisplayFacetElements.md"; + + + diff --git a/docs/docs-api/FEMesh/DisplayInternalFacetData.md b/docs/docs-api/FEMesh/DisplayInternalFacetData.md index f4b66d68..6444a669 100644 --- a/docs/docs-api/FEMesh/DisplayInternalFacetData.md +++ b/docs/docs-api/FEMesh/DisplayInternalFacetData.md @@ -1,13 +1,11 @@ -# DisplayInternalFacetData +--- +title: DisplayInternalFacetData +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran -INTERFACE - MODULE SUBROUTINE mesh_DisplayInternalFacetData(obj, msg, unitno) - CLASS(Mesh_), INTENT(IN) :: obj - CHARACTER(*), INTENT(IN) :: msg - INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno - END SUBROUTINE mesh_DisplayInternalFacetData -END INTERFACE -``` +import EXAMPLE5 from "../AbstractMesh/DisplayInternalFacetData.md"; + + diff --git a/docs/docs-api/FEMesh/DisplayNodeData.md b/docs/docs-api/FEMesh/DisplayNodeData.md index 1ea1ab9a..8e69e602 100644 --- a/docs/docs-api/FEMesh/DisplayNodeData.md +++ b/docs/docs-api/FEMesh/DisplayNodeData.md @@ -1,13 +1,11 @@ -# DisplayNodeData +--- +title: DisplayNodeData +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran -INTERFACE - MODULE SUBROUTINE mesh_DisplayNodeData(obj, msg, unitno) - CLASS(Mesh_), INTENT(IN) :: obj - CHARACTER(*), INTENT(IN) :: msg - INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno - END SUBROUTINE mesh_DisplayNodeData -END INTERFACE -``` +import EXAMPLE5 from "../AbstractMesh/DisplayNodeData.md"; + + diff --git a/docs/docs-api/FEMesh/ElemData_.md b/docs/docs-api/FEMesh/ElemData_.md deleted file mode 100644 index e51d4acf..00000000 --- a/docs/docs-api/FEMesh/ElemData_.md +++ /dev/null @@ -1,150 +0,0 @@ ---- -sidebar_position: 3 ---- - -# ElemData - -It is a data type for storing the element-data information. - -## Type definition - -```fortran -TYPE :: ElemData_ - LOGICAL(LGT) :: isActive = .TRUE. - !! Is element in active stage - INTEGER(I4B) :: globalElemNum = 0_I4B - !! global element number - !! cell connectivity number - INTEGER(I4B) :: localElemNum = 0_I4B - !! local element number - INTEGER(I4B) :: elementType = INTERNAL_ELEMENT - !! BOUNDARY_ELEMENT: If the element contqains the boundary node - !! it will be called the boundary element - !! INTERNAL_ELEMENT: If the element does not contain the boundary node - !! then it will be called the internal element - INTEGER(I4B) :: name = 0 - !! This is name of the element - !! It can be Triangle, Triangle3, Triangle6, etc. - !! Quadrangle, - INTEGER(I4B) :: meshID = 0 - !! ID of mesh to which the element belong - !! This is a gmsh concept - INTEGER(INT8), ALLOCATABLE :: material(:) - !! materials mapped to the mesh - !! material(1) is the material-id (type of material) of medium 1 - !! material(2) is the material-id (type of material) of medium 2 - !! - !! ... - !! - !! For example, soil is a porous medium with n = 1, - !! fluid is a medium with n =2 - !! then material(1) denotes the type of soil => clay, sand, silt - !! and material(2) denotes the type of fluid => water, oil, air - INTEGER(I4B), ALLOCATABLE :: globalNodes(:) - !! nodes contained in the element, connectivity - !! Vertex connectivity - INTEGER(I4B), ALLOCATABLE :: globalEdges(:) - !! Edge connectivity - INTEGER(INT8), ALLOCATABLE :: edgeOrient(:) - !! Orientation of edge - INTEGER(I4B), ALLOCATABLE :: globalFaces(:) - !! Face connectivity - INTEGER(INT8), ALLOCATABLE :: faceOrient(:, :) - !! Orientation of face - INTEGER(I4B), ALLOCATABLE :: globalElements(:) - !! Contains the information about the element surrounding an element - !! Lets us say that `globalElem1`, `globalElem2`, `globalElem3` - !! surrounds a local element ielem (its global element number is - !! globalElem), then - !! - globalElements( [1,2,3] ) contains globalElem1, pFace, nFace - !! - globalElements( [4,5,6] ) contains globalElem2, pFace, nFace - !! - globalElements( [7,8,9] ) contains globalElem3, pFace, nFace. - !! Here, - !! - pFace is the local facet number of parent element - !! globalElem (ielem) which is connected to the nFace of the neighbor - !! element - !! All element numbers are global element number - INTEGER(I4B), ALLOCATABLE :: boundaryData(:) - !! If `iel` is boundary element, then boudnaryData contains - !! the local facet number of iel which concides with the - !! mesh boundary. - !! If an element contains the boundary node then it is considered - !! as a boundary element. - !! It may happen that a boundary element has no boundary face, in which - !! case boundaryData will have zero size -END TYPE ElemData_ -``` - -### `isActive` - -If the element is active or not. - -### `globalElements` - -`globalElemNum` global element number, this number is given by the mesh generator. - -### `localElemNum` - -`localElemNum` local element number, This number is decided internally. It represents the internal storage address. - -### `elementType` - -`elementType` has following meaning as of 2024-04-14 - -- `BOUNDARY_ELEMENT`: If the element contains a facet which coincides with the boundary then, then it will be called the boundary element -- `INTERNAL_ELEMENT`: Otherwise the element is classified as the internal element. - -### `name` - -Name of the element. You can find more information about this on following pages: - -- [GlobalData](../GlobalData/GlobalData.md) -- [ReferenceElement](../ReferenceElement) - -### `meshID` - -It represent the mesh region. This parameter can be used to assign material properties, boundary conditions, etc to a region of the mesh. - -### `material` - -`material` maps the material to the mesh, for example - -- `material(1)` is the material-id of medium 1 (here 1 may denote soil) -- `material(2)` is the material-id of medium 2 (here, 2 may denote water) -- $\cdots$ -- `material(n)` is the material-id of medium n - -For example, soil is a porous medium with material id = 1, fluid is a medium with id=2. Then, material(1) denotes the type of soil, that is, clay, sand, and silt. Also, material(2) denotes the type of fluid, water, oil, air. - -The size of `material` denotes the total number of materials assigned to the element. - -### `globalNodes` - -`globalNodes` nodes contained in the element, i.e., vertex connectivity. - -### `globalEdges` and `edgeOrient` - -edge connectivity and edge orientation. - -### `globalFaces` and `faceOrient` - -face connectivity and face orientation. - -### `globalElements` - -`globalElements` contains the information about the elements surrounding an element. This is explained below: - -Let us say that `globalElem1`, `globalElem2`, and `globalElem3` surround a local element `ielem` (its global element number is `globalElem`), then - -- `globalElements( [1,2,3] )` contains `globalElem1`, `pFace`, `nFace` -- `globalElements( [4,5,6] )` contains `globalElem2`, `pFace`, `nFace` -- `globalElements( [7,8,9] )` contains `globalElem3`, `pFace`, `nFace`. -- `pFace` is the local facet number of parent element -- `nFace` is the local facet number of the neighbor - -Here, `pFace` is the local facet number of parent element, (i.e., `globalElem (ielem)`). The `nFace` (local-facet-number) of the neighboring element. - -### `boundaryData` - -- It represents the information about the boundary element. It should be used only when the element is a boundary element. -- If an element `iel` is a boundary element, then `boundaryData` contains the local facet numbers of `iel` which coincides with the mesh boundary. It may happen that a boundary element has no boundary face (but only a single boundary node), in this case `boundaryData` will have zero size. diff --git a/docs/docs-api/FEMesh/FEMesh_.md b/docs/docs-api/FEMesh/FEMesh_.md index 19ad8943..859b1922 100644 --- a/docs/docs-api/FEMesh/FEMesh_.md +++ b/docs/docs-api/FEMesh/FEMesh_.md @@ -3,340 +3,16 @@ title: Structure sidebar_position: 2 --- -`FEMesh_` datatype is simply a collection of mesh elements. +`FEMesh_` datatype is simply a collection of mesh elements. It is a child of [AbstractMesh_](../AbstractMesh/AbstractMesh_.md) class. -:::note Difference between `Mesh` and `FEMesh` -In EASIFEM mesh is a homogeneous collection of reference elements. All elements in mesh should be of same type (i.e., triangle, quadrangle, tetrahedron, etc.). Two mesh can have different types of elements. For example, we can define a mesh of triangle element or a mesh of tetrahedron element. However, in `FEMesh` elements can have different topology but they all should have same co-dimension. That is in `FEMesh` all elements need to be either `volume`, or `surface`, or `curve`, or `point`. -::: - -- You can learn about the structure of `FEMesh` [Here](./FEMesh_.md) -- You can learn about the structure of `ElemData` [Here](./ElemData_.md) -- You can learn about the structure of `NodeData` [Here](./NodeData_.md) -- The information of `BoundaryFacetData` is given [Here](./BoundaryFacetData_.md) -- The information of `InternalFacetData` is given [Here](./InternalFacetData_.md) - -## Type definition +Its structure is defined as follows: ```fortran -TYPE, ABSTRACT :: AbstractMesh_ +TYPE, EXTENDS(AbstractMesh_) :: FEMesh_ +CONTAINS PRIVATE - LOGICAL(LGT) :: showTime = .FALSE. - !! If true, then we show the time taken by various mesh operations - !! This is for checking the performance of a subclass - LOGICAL(LGT) :: readFromFile = .TRUE. - !! True if the mesh is read from a file - LOGICAL(LGT) :: isInitiated = .FALSE. - !! logical flag denoting for whether mesh data is Initiated or not - LOGICAL(LGT) :: isNodeToElementsInitiated = .FALSE. - !! Node to elements mapping - LOGICAL(LGT) :: isNodeToNodesInitiated = .FALSE. - !! Node to nodes mapping - LOGICAL(LGT) :: isExtraNodeToNodesInitiated = .FALSE. - !! Node to nodes mapping - LOGICAL(LGT) :: isElementToElementsInitiated = .FALSE. - !! Element to elements mapping - LOGICAL(LGT) :: isEdgeConnectivityInitiated = .FALSE. - !! This is Set to true when edge connectivity is initiated - !! See InitiateEdgeConnectivity method - LOGICAL(LGT) :: isFaceConnectivityInitiated = .FALSE. - !! This is Set to true when face connectivity is initiated - !! See InitiateFaceConnectivity method - LOGICAL(LGT) :: isBoundaryDataInitiated = .FALSE. - !! Boundary data - LOGICAL(LGT) :: isFacetDataInitiated = .FALSE. - !! FacetData - INTEGER(I4B) :: uid = 0 - !! Unique id of the mesh - !! In case of Mesh_ it is entityNumber of the mesh - INTEGER(I4B) :: tElements_topology_wise(8) = 0 - !! point, line, triangle, quadrangle, tetrahedron, hexahedron, prism, - !! pyramid (it is calculated in the postprocessing step) - INTEGER(I4B) :: tElemTopologies = 0, elemTopologies(8) = 0 - !! total element topologies, name of element topologies are stored in - !! elemTopologies(1:tElemTopologies) - !! this info is computed in a postprocessing step - INTEGER(I4B) :: maxNNE = 0 - !! maximum number of nodes in element - INTEGER(I4B) :: nsd = 0 - !! number of spatial dimension of the mesh - INTEGER(I4B) :: xidim = 0 - !! xidimension of elements present inside the mesh - !! for point xidim = 0 - !! for line/curve xidim = 1 - !! for surface xidim = 2 - !! for volume xidim = 3 - INTEGER(I4B) :: maxNptrs = 0 - !! largest node number present inside the mesh - INTEGER(I4B) :: minNptrs = 0 - !! minimum node number present inside the mesh - INTEGER(I4B) :: maxElemNum = 0 - !! largest element number present inside the mesh - INTEGER(I4B) :: minElemNum = 0 - !! minimum element number present inside the mesh - INTEGER(I4B) :: tNodes = 0 - !! total number of nodes present inside the mesh - INTEGER(I4B) :: tEdges = 0 - !! total number of internal nodes inside the mesh - INTEGER(I4B) :: tFaces = 0 - !! total number of internal nodes inside the mesh - INTEGER(I4B) :: tElements = 0 - !! total number of elements present inside the mesh - !! It is the size of elemNumber vector - REAL(DFP) :: minX = 0.0 - !! minimum value of x coordinate - REAL(DFP) :: maxX = 0.0 - !! maximum value of x coordinate - REAL(DFP) :: minY = 0.0 - !! minimum value of y coordinate - REAL(DFP) :: maxY = 0.0 - !! maximum value of y coordinate - REAL(DFP) :: minZ = 0.0 - !! minimum value of z coordinate - REAL(DFP) :: maxZ = 0.0 - !! maximum value of z coordinate - REAL(DFP) :: x = 0.0 - !! x coorindate of centroid - REAL(DFP) :: y = 0.0 - !! y coordinate of centroid - REAL(DFP) :: z = 0.0 - !! z coordinate of centroid - INTEGER(I4B), ALLOCATABLE :: boundingEntity(:) - !! Bounding entity numbers of the current entity - INTEGER(I4B), ALLOCATABLE :: local_elemNumber(:) - !! List of local element numbers, the lowerbound is `minElemNum` - !! and upper bound is `maxElemNum`. In this way, local_elemNumber(iel) - !! returns the local element number of global element number iel. - - INTEGER(I4B), ALLOCATABLE :: local_Nptrs(:) - !! Returns local node number from a global node number - !! Its length is from 1 to maxNptrs - !! Helpul in finding if a global node is present inside the mesh or not - - REAL(DFP), ALLOCATABLE :: quality(:, :) - !! number of rows are meshquality - !! number of columns are elements - - INTEGER(I4B), ALLOCATABLE :: facetElementType(:, :) - !! Number of rows of this array is same as the total number of - !! facets present in the mesh-reference elements - !! Number of columns of this array is equal to the total number of - !! elements inside the mesh - !! facetElementType(ii, iel) can be - !! INTERNAL_ELEMENT, BOUNDARY_ELEMENT, DOMAIN_BOUNDARY_ELEMENT - !! If the face is a part of the mesh boundary then it will be called - !! the BOUNDARY_ELEMENT - - TYPE(NodeData_), ALLOCATABLE :: nodeData(:) - !! Node data - - TYPE(ElemData_), ALLOCATABLE :: elementData(:) - !! element data - - TYPE(InternalFacetData_), ALLOCATABLE :: internalFacetData(:) - !! Internal facet data - !! INFO: This data is initiated by InitiateFacetElements method - - TYPE(BoundaryFacetData_), PUBLIC, ALLOCATABLE :: boundaryFacetData(:) - !! Domain Facet Data - !! INFO: This data is initiated by InitiateFacetElements method - - TYPE(ElemDataList_) :: elementDataList - !! ElemData list - TYPE(ElemDataBinaryTree_) :: elementDataBinaryTree - !! ElemData binary tree - TYPE(NodeDataList_) :: nodeDataList - !! NodeData list - TYPE(NodeDataBinaryTree_) :: nodeDataBinaryTree - !! NodeData binary tree - -END TYPE AbstractMesh_ + FINAL :: obj_Final +END TYPE FEMesh_ ``` -### showTime - -`showTime` is true if the time taken by various mesh operations is shown. - -### readFromFile - -`readFromFile` is true if the mesh is read from a file. - -### isInitiated - -`isInitiated` is logical flag denoting whether mesh data is initiated or not. - -### isNodeToElementsInitiated - -`isNodeToElementsInitiated` is true if node to elements mapping is initiated. - -### isNodeToNodesInitiated - -`isNodeToNodesInitiated` is true of node to nodes mapping is initiated. - -### isExtraNodeToNodesInitiated - -It is true if extra information of node to nodes is initiated. Extra node to nodes is necessary for edge based FEM. - -### isElementToElementsInitiated - -`isElementToElementsInitiated` is true if element to elements mapping available. - -### isEdgeConnectivityInitiated - -If is true if edge connectivity is initiated. - -### isFaceConnectivityInitiated - -It is true when face connectivity is initiated. - -### isBoundaryDataInitiated - -`isBoundaryDataInitiated` is true if boundary data is available. - -### isFacetDataInitiated - -It is true when the facet data is initiated. - -### uid - -`uid` denotes the unique-id of the mesh. It is read from the mesh file, if present. - -### xidim - -- `xidim` denotes the `xidimension` of elements present inside the mesh, `xidim` = (0,1,2,3) for (point, line, surface, volume) elements. - -### tElements_topology_wise - -It denotes the total number of elements present in the mesh. It is calculated in the post-processing step. - -| index | element tyep | -| ----- | ------------ | -| 1 | point | -| 2 | line | -| 3 | triangle | -| 4 | quadrangle | -| 5 | tetrahedron | -| 6 | hexahedron | -| 7 | prism | -| 8 | pyramid | - -### tElemTopologies and elemTopologies - -Total number of topologies stored in the mesh. For example, in a mesh of lines, we will have `tElemTopolies=1`. In the case of mesh of surfaces we can have `tElemTopologies=2`. The name of the topolgoy is stored in `elemTopologies(1:tElemTopolies)`. - -### maxNNE - -Maximum number of nodes in an element. - -### nsd - -`nsd` denotes the number of spatial dimension of the mesh. - -### xidim - -The codimension of the mesh. It is 0 for point, 1 for line, 2 for surface, 3 for volume. - -### maxNptrs - -`maxNptrs` stands for the largest node number present inside the mesh. - -### minNptrs - -`minNptrs` stands for the smallest node number present inside the mesh. - -### maxElemNum - -`maxElemNum` denotes the largest element number present inside the mesh. - -### minElemNum - -`minElemNum` denotes the smallest element number present inside the mesh. - -### tNodes - -`tNodes` is the total number of (local) nodes present inside the mesh. - -### tEdges - -Total number of edges present inside the mesh. - -### tFaces - -Total number of faces present inside the mesh. - -### tElements - -`tElements` is the total number of elements present inside the mesh. It is the size of `elemNumber` vector. - -### minX, maxX, minY, maxY, minZ, maxZ - -- `minX` denotes the minimum value of x coordinate of `boundingbox`. -- `maxX` denotes the maximum value of x coordinate of `boundingbox`. -- `minY` is the minimum value of y coordinate of `boundingbox`. -- `maxY` is the maximum value of y coordinate of `boundingbox`. -- `minZ` is the minimum value of z coordinate of `boundingbox`. -- `maxZ` is the maximum value of z coordinate of `boundingbox`. - -### x, y, z - -- `x` is the x coordinate of center of mesh. -- `y` is the y coordinate of center of mesh. -- `z` is the z coordinate of center of mesh. - -### boundingEntity - -`boundingEntity` denotes the bounding entity numbers of the current entity - -### local_elemNumber and local_Nptrs - -- `local_elemNumber` denotes the list of local element numbers, the lower bound is `minElemNum` and upper bound is `maxElemNum`. In this way, `local_elemNumber(iel)` returns the local element number of global element number `iel`. -- `local_Nptrs` returns the local node number from a global node number. Its length is from 1 to `maxNptrs`. Helpful in finding if a global node is present inside the mesh or not. - -### quality - -Denotes the quality of elements. - -### facetElementType - -- Number of rows of this array is same as the total number of facets present in the mesh’s reference-element. -- Number of columns of this array is equal to the total number of elements inside the mesh. -- In this way, `facetElementType(ii, iel)` denotes the `ii`th facet’s type of element local element number `iel` -- `facetElementType` can be - - `INTERNAL_ELEMENT`, - - `BOUNDARY_ELEMENT`, - - `DOMAIN_BOUNDARY_ELEMENT`. -- If the face is a part of the mesh boundary then it will be called the `BOUNDARY_ELEMENT` -- If the face is part of domain boundary, then it is a `DOMAIN_BOUNDARY_ELEMENT` -- If the facet is internal to a mesh, then it is a `INTERNAL_ELEMENT` -- Note that every, `DOMAIN_BOUNDARY_ELEMENT` is `BOUNDARY_ELEMENT` but not vice-versa. - -### nodeData - -`nodeData` node data - -### elementData - -`elementData` element data - -### internalFacetData - -`internalFacetData` internal facet data - -### boundaryFacetData - -`boundaryFacetData` boundary facet Data - -### elementDataList - -Linked list of element data - -### elementDataBinaryTree - -Binary tree of element data. - -### nodeDataList - -Linked list of node data - -### nodeDataBinaryTree -Binary tree of node data. diff --git a/docs/docs-api/FEMesh/GetBoundaryElementData.md b/docs/docs-api/FEMesh/GetBoundaryElementData.md index 90e563d1..5781fbae 100644 --- a/docs/docs-api/FEMesh/GetBoundaryElementData.md +++ b/docs/docs-api/FEMesh/GetBoundaryElementData.md @@ -1,32 +1,27 @@ -# GetBoundaryElementData +--- +title: GetBoundaryElementData +--- -Returns the boundary element data. +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -## Interface +import EXAMPLE5 from "../AbstractMesh/GetBoundaryElementData.md"; - - + -```fortran -MODULE PURE FUNCTION getBoundaryElementData(obj, globalElement) & - & RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: globalElement - INTEGER(I4B), ALLOCATABLE :: ans(:) -END FUNCTION getBoundaryElementData -``` - +## Examples - +
+Example 1 +
-import EXAMPLE5 from "./examples/_GetBoundaryElementData_test_1.md"; - +import EXAMPLE6 from "./examples/_GetBoundaryElementData_test_1.md"; - + - +
+
-
-
diff --git a/docs/docs-api/FEMesh/GetBoundaryNptrs.md b/docs/docs-api/FEMesh/GetBoundaryNptrs.md index 33066f82..a61fa4fb 100644 --- a/docs/docs-api/FEMesh/GetBoundaryNptrs.md +++ b/docs/docs-api/FEMesh/GetBoundaryNptrs.md @@ -1,10 +1,12 @@ -# GetBoundaryNptrs +--- +title: GetBoundaryNptrs +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: + +import EXAMPLE5 from "../AbstractMesh/GetBoundaryNptrs.md"; + + -```fortran - MODULE PURE FUNCTION getBoundaryNptrs(obj) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), ALLOCATABLE :: ans(:) - END FUNCTION getBoundaryNptrs -``` diff --git a/docs/docs-api/FEMesh/GetBoundingBox.md b/docs/docs-api/FEMesh/GetBoundingBox.md index 346c34e2..9e8f2081 100644 --- a/docs/docs-api/FEMesh/GetBoundingBox.md +++ b/docs/docs-api/FEMesh/GetBoundingBox.md @@ -1,21 +1,12 @@ -# GetBoundingBox +--- +title: GetBoundingBox +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION getBoundingBox(obj) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - TYPE(BoundingBox_) :: ans - END FUNCTION getBoundingBox -``` +import EXAMPLE5 from "../AbstractMesh/GetBoundingBox.md"; + + -```fortran - MODULE PURE FUNCTION getBoundingBox(obj, nodes, local_nptrs) & - & RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - REAL(DFP), INTENT(IN) :: nodes(:, :) - !! Nodal coordinates in XiJ format - INTEGER(I4B), OPTIONAL, INTENT(IN) :: local_nptrs(:) - TYPE(BoundingBox_) :: ans - END FUNCTION getBoundingBox -``` diff --git a/docs/docs-api/FEMesh/GetBoundingEntity.md b/docs/docs-api/FEMesh/GetBoundingEntity.md index 79df25d0..b15908db 100644 --- a/docs/docs-api/FEMesh/GetBoundingEntity.md +++ b/docs/docs-api/FEMesh/GetBoundingEntity.md @@ -1,10 +1,11 @@ -# GetBoundingEntity +--- +title: GetBoundingEntity +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION getBoundingEntity(obj) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), ALLOCATABLE :: ans(:) - END FUNCTION getBoundingEntity -``` +import EXAMPLE5 from "../AbstractMesh/GetBoundingEntity.md"; + + diff --git a/docs/docs-api/FEMesh/GetCellNumber.md b/docs/docs-api/FEMesh/GetCellNumber.md index 4999f68a..794c8b68 100644 --- a/docs/docs-api/FEMesh/GetCellNumber.md +++ b/docs/docs-api/FEMesh/GetCellNumber.md @@ -1,14 +1,13 @@ -# GetCellNumber - -## Interface - -```fortran - MODULE PURE FUNCTION getCellNumber( obj, facetElement, & - & elementType, facetBoundary ) RESULT( ans ) - CLASS( Mesh_ ), INTENT( IN ) :: obj - INTEGER( I4B ), INTENT( IN ) :: facetElement - INTEGER( I4B ), INTENT( IN ) :: elementType - INTEGER( I4B ), OPTIONAL, INTENT( IN ) :: facetBoundary - INTEGER( I4B ) :: ans( 2 ) - END FUNCTION getCellNumber -``` +--- +title: GetCellNumber +--- + +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: + +import EXAMPLE5 from "../AbstractMesh/GetCellNumber.md"; + + + + diff --git a/docs/docs-api/FEMesh/GetConnectivity.md b/docs/docs-api/FEMesh/GetConnectivity.md index 62517693..ddec5a88 100644 --- a/docs/docs-api/FEMesh/GetConnectivity.md +++ b/docs/docs-api/FEMesh/GetConnectivity.md @@ -1,11 +1,11 @@ -# GetConnectivity +--- +title: GetConnectivity +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION getConnectivity(obj, globalElement) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: globalElement - INTEGER(I4B), ALLOCATABLE :: ans(:) - END FUNCTION getConnectivity -``` +import EXAMPLE5 from "../AbstractMesh/GetConnectivity.md"; + + diff --git a/docs/docs-api/FEMesh/GetElemNum.md b/docs/docs-api/FEMesh/GetElemNum.md index 3b426591..674df0c0 100644 --- a/docs/docs-api/FEMesh/GetElemNum.md +++ b/docs/docs-api/FEMesh/GetElemNum.md @@ -1,10 +1,12 @@ -# GetElemNum +--- +title: GetElemNum +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: + +import EXAMPLE5 from "../AbstractMesh/GetElemNum.md"; + + -```fortran - MODULE FUNCTION getElemNum(obj) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), ALLOCATABLE :: ans(:) - END FUNCTION getElemNum -``` diff --git a/docs/docs-api/FEMesh/GetElementToElements.md b/docs/docs-api/FEMesh/GetElementToElements.md index 559abc7e..036ec4f5 100644 --- a/docs/docs-api/FEMesh/GetElementToElements.md +++ b/docs/docs-api/FEMesh/GetElementToElements.md @@ -1,40 +1,26 @@ -# GetElementToElements +--- +title: GetElementToElements +--- -Get element to elements connectivity information. +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -## Interface +import EXAMPLE5 from "../AbstractMesh/GetElementToElements.md"; - - - -```fortran -MODULE PURE FUNCTION getElementToElements(obj, globalElement, & - & onlyElements) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - !! mesh data - INTEGER(I4B), INTENT(IN) :: globalElement - !! Global element number - LOGICAL(LGT), OPTIONAL, INTENT(IN) :: onlyElements - !! If onlyElements is absent or it is FALSE then full information - !! about the elements connected to element iel is given - !! If onlyElements is present and it is TRUE then only the - !! information about the elements connected to element iel is given - INTEGER(I4B), ALLOCATABLE :: ans(:, :) - !! list of elements surrounding elements -END FUNCTION getElementToElements -``` + - +## Examples - +
+Example 1 +
-import EXAMPLE5 from "./examples/_GetElementToElements_test_1.md"; +import EXAMPLE6 from "./examples/_GetElementToElements_test_1.md"; - + - - +
+
-
-
diff --git a/docs/docs-api/FEMesh/GetFacetConnectivity.md b/docs/docs-api/FEMesh/GetFacetConnectivity.md index 0230d074..fd70f6d2 100644 --- a/docs/docs-api/FEMesh/GetFacetConnectivity.md +++ b/docs/docs-api/FEMesh/GetFacetConnectivity.md @@ -1,31 +1,12 @@ -# GetFacetConnectivity +--- +title: GetFacetConnectivity +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION getFacetConnectivity( obj, facetElement, & - & elementType, isMaster, facetBoundary ) RESULT( ans ) - CLASS( Mesh_ ), INTENT( IN ) :: obj - INTEGER( I4B ), INTENT( IN ) :: facetElement - INTEGER( I4B ), INTENT( IN ) :: elementType - LOGICAL( LGT ), INTENT( IN ) :: isMaster - !! if isMaster is true then connectivity of facet in master-cell - !! is returned, otherwise connectivity of facet in slave-cell - !! is returned. This is only applicable for internal facet element - !! because for domain facet we do not have slave-cell. - !! Currently, we do not support slave-cell for meshFacet because - !! the slave of meshFacet lives in different instance of - INTEGER( I4B ), OPTIONAL, INTENT( IN ) :: facetBoundary - INTEGER( I4B ), ALLOCATABLE :: ans( : ) - END FUNCTION getFacetConnectivity -``` +import EXAMPLE5 from "../AbstractMesh/GetFacetConnectivity.md"; + + -```fortran - MODULE PURE FUNCTION getFacetConnectivity( obj, globalElement, & - & iface ) RESULT( ans ) - CLASS( Mesh_ ), INTENT( IN ) :: obj - INTEGER( I4B ), INTENT( IN ) :: globalElement - INTEGER( I4B ), INTENT( IN ) :: iface - INTEGER( I4B ), ALLOCATABLE :: ans( : ) - END FUNCTION getFacetConnectivity -``` diff --git a/docs/docs-api/FEMesh/GetFacetElementType.md b/docs/docs-api/FEMesh/GetFacetElementType.md index fae6cee9..dd3133b4 100644 --- a/docs/docs-api/FEMesh/GetFacetElementType.md +++ b/docs/docs-api/FEMesh/GetFacetElementType.md @@ -1,12 +1,11 @@ -# GetFacetElementType +--- +title: GetFacetElementType +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION getFacetElementType( obj, globalElement ) & - & RESULT( ans ) - CLASS( Mesh_ ), INTENT( IN ) :: obj - INTEGER( I4B ), INTENT( IN ) :: globalElement - INTEGER( I4B ), ALLOCATABLE :: ans( : ) - END FUNCTION getFacetElementType -``` +import EXAMPLE5 from "../AbstractMesh/GetFacetElementType.md"; + + diff --git a/docs/docs-api/FEMesh/GetGlobalElemNumber.md b/docs/docs-api/FEMesh/GetGlobalElemNumber.md index 9c50f4d6..8a30cfd1 100644 --- a/docs/docs-api/FEMesh/GetGlobalElemNumber.md +++ b/docs/docs-api/FEMesh/GetGlobalElemNumber.md @@ -1,20 +1,12 @@ -# GetGlobalElemNumber +--- +title: GetGlobalElemNumber +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION getGlobalElemNumber(obj, LocalElement) & - & RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: LocalElement(:) - INTEGER(I4B) :: ans(SIZE(LocalElement)) - END FUNCTION getGlobalElemNumber -``` +import EXAMPLE5 from "../AbstractMesh/GetGlobalElemNumber.md"; + + -```fortran - MODULE PURE FUNCTION getGlobalElemNumber(obj, LocalElement) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: LocalElement - INTEGER(I4B) :: ans - END FUNCTION getGlobalElemNumber -``` diff --git a/docs/docs-api/FEMesh/GetGlobalNodeNumber.md b/docs/docs-api/FEMesh/GetGlobalNodeNumber.md index 5544b193..9c17eaad 100644 --- a/docs/docs-api/FEMesh/GetGlobalNodeNumber.md +++ b/docs/docs-api/FEMesh/GetGlobalNodeNumber.md @@ -1,19 +1,14 @@ -# GetGlobalNodeNumber +--- +title: GetGlobalNodeNumber +--- + +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: + +import EXAMPLE5 from "../AbstractMesh/GetGlobalNodeNumber.md"; + + -## Interface -```fortran - MODULE PURE FUNCTION getGlobalNodeNumber(obj, localNode) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: localNode(:) - INTEGER(I4B) :: ans(SIZE(localNode)) - END FUNCTION getGlobalNodeNumber -``` -```fortran - MODULE PURE FUNCTION getGlobalNodeNumber(obj, localNode) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: localNode - INTEGER(I4B) :: ans - END FUNCTION getGlobalNodeNumber -``` diff --git a/docs/docs-api/FEMesh/GetInternalNptrs.md b/docs/docs-api/FEMesh/GetInternalNptrs.md index 1c513583..9dbf74c1 100644 --- a/docs/docs-api/FEMesh/GetInternalNptrs.md +++ b/docs/docs-api/FEMesh/GetInternalNptrs.md @@ -1,10 +1,11 @@ -# GetInternalNptrs +--- +title: GetInternalNptrs +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION getInternalNptrs(obj) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), ALLOCATABLE :: ans(:) - END FUNCTION getInternalNptrs -``` +import EXAMPLE5 from "../AbstractMesh/GetInternalNptrs.md"; + + diff --git a/docs/docs-api/FEMesh/GetLocalElemNumber.md b/docs/docs-api/FEMesh/GetLocalElemNumber.md index ca8f534a..4a48480c 100644 --- a/docs/docs-api/FEMesh/GetLocalElemNumber.md +++ b/docs/docs-api/FEMesh/GetLocalElemNumber.md @@ -1,19 +1,11 @@ -# GetLocalElemNumber +--- +title: GetLocalElemNumber +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION getLocalElemNumber(obj, GlobalElement) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: GlobalElement(:) - INTEGER(I4B) :: ans(SIZE(GlobalElement)) - END FUNCTION getLocalElemNumber -``` +import EXAMPLE5 from "../AbstractMesh/GetLocalElemNumber.md"; -```fortran - MODULE PURE FUNCTION getLocalElemNumber(obj, GlobalElement) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: GlobalElement - INTEGER(I4B) :: ans - END FUNCTION getLocalElemNumber -``` + diff --git a/docs/docs-api/FEMesh/GetLocalFacetID.md b/docs/docs-api/FEMesh/GetLocalFacetID.md index ac258cbd..cc869b15 100644 --- a/docs/docs-api/FEMesh/GetLocalFacetID.md +++ b/docs/docs-api/FEMesh/GetLocalFacetID.md @@ -1,15 +1,11 @@ -# GetLocalFacetID +--- +title: GetLocalFacetID +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION getLocalFacetID( obj, facetElement, & - & elementType, isMaster, facetBoundary ) RESULT( ans ) - CLASS( Mesh_ ), INTENT( IN ) :: obj - INTEGER( I4B ), INTENT( IN ) :: facetElement - INTEGER( I4B ), INTENT( IN ) :: elementType - LOGICAL( LGT ), INTENT( IN ) :: isMaster - INTEGER( I4B ), OPTIONAL, INTENT( IN ) :: facetBoundary - INTEGER( I4B ) :: ans - END FUNCTION getLocalFacetID -``` +import EXAMPLE5 from "../AbstractMesh/GetLocalFacetID.md"; + + diff --git a/docs/docs-api/FEMesh/GetLocalNodeNumber.md b/docs/docs-api/FEMesh/GetLocalNodeNumber.md index a3c5fa1d..ac84cfaa 100644 --- a/docs/docs-api/FEMesh/GetLocalNodeNumber.md +++ b/docs/docs-api/FEMesh/GetLocalNodeNumber.md @@ -1,19 +1,12 @@ -# GetLocalNodeNumber +--- +title: GetLocalNodeNumber +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION getLocalNodeNumber(obj, globalNode) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: globalNode(:) - INTEGER(I4B) :: ans(SIZE(globalNode)) - END FUNCTION getLocalNodeNumber -``` +import EXAMPLE5 from "../AbstractMesh/GetLocalNodeNumber.md"; + + -```fortran - MODULE PURE FUNCTION getLocalNodeNumber(obj, globalNode) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: globalNode - INTEGER(I4B) :: ans - END FUNCTION getLocalNodeNumber -``` diff --git a/docs/docs-api/FEMesh/GetMasterCellNumber.md b/docs/docs-api/FEMesh/GetMasterCellNumber.md index 939c6858..c3f44384 100644 --- a/docs/docs-api/FEMesh/GetMasterCellNumber.md +++ b/docs/docs-api/FEMesh/GetMasterCellNumber.md @@ -1,15 +1,12 @@ -# GetMasterCellNumber - -## Interface - -```fortran - MODULE PURE FUNCTION getMasterCellNumber( obj, facetElement, & - & elementType, facetBoundary )& - & RESULT( ans ) - CLASS( Mesh_ ), INTENT( IN ) :: obj - INTEGER( I4B ), INTENT( IN ) :: facetElement - INTEGER( I4B ), INTENT( IN ) :: elementType - INTEGER( I4B ), OPTIONAL, INTENT( IN ) :: facetBoundary - INTEGER( I4B ) :: ans - END FUNCTION getMasterCellNumber -``` +--- +title: GetMasterCellNumber +--- + +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: + +import EXAMPLE5 from "../AbstractMesh/GetMasterCellNumber.md"; + + + diff --git a/docs/docs-api/FEMesh/GetNodeToElements.md b/docs/docs-api/FEMesh/GetNodeToElements.md index 33552373..14efaab5 100644 --- a/docs/docs-api/FEMesh/GetNodeToElements.md +++ b/docs/docs-api/FEMesh/GetNodeToElements.md @@ -1,51 +1,25 @@ -# GetNodeToElements +--- +title: GetNodeToElements +--- -Get node to elements connectivity. +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -There are two interfaces to this method. - -## Interface - -### Interface 1 - - - - -```fortran -MODULE PURE FUNCTION getNodeToElements(obj, globalNode) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - !! mesh data - INTEGER(I4B), INTENT(IN) :: globalNode - !! global node number - INTEGER(I4B), ALLOCATABLE :: ans(:) - !! A vector of local element number -END FUNCTION getNodeToElements -``` - - - - - -import EXAMPLE5 from "./examples/_GetNodeToElements_test_1.md"; +import EXAMPLE5 from "../AbstractMesh/GetNodeToNodes.md"; - +## Examples + +
+Example 1 +
- +import EXAMPLE6 from "./examples/_GetNodeToElements_test_1.md"; - - + -### Interface 2 +
+
-```fortran -MODULE PURE FUNCTION getNodeToElements(obj, globalNode) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - !! mesh data - INTEGER(I4B), INTENT(IN) :: globalNode(:) - !! global node number - INTEGER(I4B), ALLOCATABLE :: ans(:) - !! A vector of local element number -END FUNCTION getNodeToElements -``` diff --git a/docs/docs-api/FEMesh/GetNodeToNodes.md b/docs/docs-api/FEMesh/GetNodeToNodes.md index 03ff9155..392e240d 100644 --- a/docs/docs-api/FEMesh/GetNodeToNodes.md +++ b/docs/docs-api/FEMesh/GetNodeToNodes.md @@ -1,51 +1,26 @@ -# GetNodeToNodes +--- +title: GetNodeToNodes +--- -Returns node to node connectivity in the mess. +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -## Interface +import EXAMPLE5 from "../AbstractMesh/GetNodeToNodes.md"; -There are two interfaces to this method + -### Interface 1 +## Examples - - - -```fortran -MODULE PURE FUNCTION getNodeToNodes(obj, globalNode, IncludeSelf) & - & RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: globalNode - LOGICAL(LGT), INTENT(IN) :: IncludeSelf - INTEGER(I4B), ALLOCATABLE :: ans(:) -END FUNCTION getNodeToNodes -``` - - - - - -```fortran -MODULE PURE FUNCTION getNodeToNodes(obj, globalNode, IncludeSelf) & - & RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: globalNode( : ) - LOGICAL(LGT), INTENT(IN) :: IncludeSelf - INTEGER(I4B), ALLOCATABLE :: ans(:) -END FUNCTION getNodeToNodes -``` - - - - +
+Example 1 +
import EXAMPLE11 from "./examples/_GetNodeToNodes_test_1.md"; - +
+
- - -
diff --git a/docs/docs-api/FEMesh/GetNptrs.md b/docs/docs-api/FEMesh/GetNptrs.md index 2a524c86..7f72b9fe 100644 --- a/docs/docs-api/FEMesh/GetNptrs.md +++ b/docs/docs-api/FEMesh/GetNptrs.md @@ -1,10 +1,12 @@ -# GetNptrs +--- +title: GetNptrs +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: + +import EXAMPLE5 from "../AbstractMesh/GetNptrs.md"; + + -```fortran - MODULE PURE FUNCTION getNptrs(obj) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), ALLOCATABLE :: ans(:) - END FUNCTION getNptrs -``` diff --git a/docs/docs-api/FEMesh/GetRefElemPointer.md b/docs/docs-api/FEMesh/GetRefElemPointer.md index 42c05dd9..97811afb 100644 --- a/docs/docs-api/FEMesh/GetRefElemPointer.md +++ b/docs/docs-api/FEMesh/GetRefElemPointer.md @@ -1,10 +1,13 @@ -# GetRefElemPointer +--- +title: GetRefElemPointer +--- + +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: + +import EXAMPLE5 from "../AbstractMesh/GetRefElemPointer.md"; + + -## Interface -```fortran - MODULE FUNCTION getRefElemPointer(obj) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - CLASS(ReferenceElement_), POINTER :: ans - END FUNCTION getRefElemPointer -``` diff --git a/docs/docs-api/FEMesh/GetSlaveCellNumber.md b/docs/docs-api/FEMesh/GetSlaveCellNumber.md index 8796abc6..77016fe9 100644 --- a/docs/docs-api/FEMesh/GetSlaveCellNumber.md +++ b/docs/docs-api/FEMesh/GetSlaveCellNumber.md @@ -1,14 +1,11 @@ -# GetSlaveCellNumber +--- +title: GetSlaveCellNumber +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION getSlaveCellNumber( obj, facetElement, & - & elementType, facetBoundary ) RESULT( ans ) - CLASS( Mesh_ ), INTENT( IN ) :: obj - INTEGER( I4B ), INTENT( IN ) :: facetElement - INTEGER( I4B ), INTENT( IN ) :: elementType - INTEGER( I4B ), OPTIONAL, INTENT( IN ) :: facetBoundary - INTEGER( I4B ) :: ans - END FUNCTION getSlaveCellNumber -``` +import EXAMPLE5 from "../AbstractMesh/GetSlaveCellNumber.md"; + + diff --git a/docs/docs-api/FEMesh/GetTotalBoundaryElements.md b/docs/docs-api/FEMesh/GetTotalBoundaryElements.md index c695323f..f33f1606 100644 --- a/docs/docs-api/FEMesh/GetTotalBoundaryElements.md +++ b/docs/docs-api/FEMesh/GetTotalBoundaryElements.md @@ -1,10 +1,12 @@ -# GetTotalBoundaryElements +--- +title: GetTotalBoundaryElements +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: + +import EXAMPLE5 from "../AbstractMesh/GetTotalBoundaryElements.md"; + + -```fortran - MODULE PURE FUNCTION getTotalBoundaryElements(obj) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B) :: ans - END FUNCTION getTotalBoundaryElements -``` diff --git a/docs/docs-api/FEMesh/GetTotalBoundaryFacetElements.md b/docs/docs-api/FEMesh/GetTotalBoundaryFacetElements.md index 1b2d9d9e..4202decf 100644 --- a/docs/docs-api/FEMesh/GetTotalBoundaryFacetElements.md +++ b/docs/docs-api/FEMesh/GetTotalBoundaryFacetElements.md @@ -1,10 +1,11 @@ -# GetTotalBoundaryFacetElements +--- +title: GetTotalBoundaryFacetElements +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION getTotalBoundaryFacetElements( obj ) RESULT(ans) - CLASS(Mesh_), INTENT( IN ) :: obj - INTEGER( I4B ) :: ans - END FUNCTION getTotalBoundaryFacetElements -``` +import EXAMPLE5 from "../AbstractMesh/GetTotalBoundaryFacetElements.md"; + + diff --git a/docs/docs-api/FEMesh/GetTotalBoundaryNodes.md b/docs/docs-api/FEMesh/GetTotalBoundaryNodes.md index ff1eab32..e46ce8e5 100644 --- a/docs/docs-api/FEMesh/GetTotalBoundaryNodes.md +++ b/docs/docs-api/FEMesh/GetTotalBoundaryNodes.md @@ -1,10 +1,11 @@ -# GetTotalBoundaryNodes +--- +title: GetTotalBoundaryNodes +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION getTotalBoundaryNodes(obj) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B) :: ans - END FUNCTION getTotalBoundaryNodes -``` +import EXAMPLE5 from "../AbstractMesh/GetTotalBoundaryNodes.md"; + + diff --git a/docs/docs-api/FEMesh/GetTotalFacetElements.md b/docs/docs-api/FEMesh/GetTotalFacetElements.md index e1375d5e..f4fb5297 100644 --- a/docs/docs-api/FEMesh/GetTotalFacetElements.md +++ b/docs/docs-api/FEMesh/GetTotalFacetElements.md @@ -1,10 +1,12 @@ -# GetTotalFacetElements +--- +title: GetTotalFacetElements +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: + +import EXAMPLE5 from "../AbstractMesh/GetTotalFacetElements.md"; + + -```fortran - MODULE PURE FUNCTION getTotalFacetElements( obj ) RESULT( ans ) - CLASS(Mesh_), INTENT( IN ) :: obj - INTEGER( I4B ) :: ans - END FUNCTION getTotalFacetElements -``` diff --git a/docs/docs-api/FEMesh/GetTotalInternalFacetElements.md b/docs/docs-api/FEMesh/GetTotalInternalFacetElements.md index c05e987a..03c28410 100644 --- a/docs/docs-api/FEMesh/GetTotalInternalFacetElements.md +++ b/docs/docs-api/FEMesh/GetTotalInternalFacetElements.md @@ -1,10 +1,12 @@ -# GetTotalInternalFacetElements +--- +title: GetTotalInternalFacetElements +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: + +import EXAMPLE5 from "../AbstractMesh/GetTotalInternalFacetElements.md"; + + -```fortran - MODULE PURE FUNCTION getTotalInternalFacetElements( obj ) RESULT(ans) - CLASS(Mesh_), INTENT( IN ) :: obj - INTEGER( I4B ) :: ans - END FUNCTION getTotalInternalFacetElements -``` diff --git a/docs/docs-api/FEMesh/GetTotalInternalNodes.md b/docs/docs-api/FEMesh/GetTotalInternalNodes.md new file mode 100644 index 00000000..aac6ba47 --- /dev/null +++ b/docs/docs-api/FEMesh/GetTotalInternalNodes.md @@ -0,0 +1,12 @@ +--- +title: GetTotalInternalNodes +--- + +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: + + +import EXAMPLE5 from "../AbstractMesh/GetTotalInternalNodes.md"; + + diff --git a/docs/docs-api/FEMesh/GetTotalNodes.md b/docs/docs-api/FEMesh/GetTotalNodes.md index 214d6776..c204d085 100644 --- a/docs/docs-api/FEMesh/GetTotalNodes.md +++ b/docs/docs-api/FEMesh/GetTotalNodes.md @@ -1,10 +1,11 @@ -# GetTotalNodes +--- +title: GetTotalNodes +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION getTotalNodes(obj) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B) :: ans - END FUNCTION getTotalNodes -``` +import EXAMPLE5 from "../AbstractMesh/GetTotalNodes.md"; + + diff --git a/docs/docs-api/FEMesh/Initiate.md b/docs/docs-api/FEMesh/Initiate.md index f4ed53ff..a99e3611 100644 --- a/docs/docs-api/FEMesh/Initiate.md +++ b/docs/docs-api/FEMesh/Initiate.md @@ -1,25 +1,16 @@ --- -sidebar_position: 7 +sidebar_position: 3 +title: Initiate --- -# Initiate -Initiate an instance of Mesh. +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -# Structure +import EXAMPLE9 from "../AbstractMesh/Initiate.md"; -```fortran -INTERFACE - MODULE SUBROUTINE obj_Initiate(obj, hdf5, group) - CLASS(Mesh_), INTENT(INOUT) :: obj - !! mesh object - TYPE(HDF5File_), INTENT(INOUT) :: hdf5 - !! Mesh file in hdf5 file format - CHARACTER(*), INTENT(IN) :: group - !! location in HDF5 file - END SUBROUTINE obj_Initiate -END INTERFACE -``` + ## Examples diff --git a/docs/docs-api/FEMesh/InitiateBoundaryData.md b/docs/docs-api/FEMesh/InitiateBoundaryData.md index 6eda0b31..0e8fd1d0 100644 --- a/docs/docs-api/FEMesh/InitiateBoundaryData.md +++ b/docs/docs-api/FEMesh/InitiateBoundaryData.md @@ -1,30 +1,11 @@ -# InitiateBoundaryData +--- +title: InitiateBoundaryData +--- -This method construct the boundary-element data. - -- It marks elements of mesh as `DOMAIN_BOUNDARY_ELEMENT` and `INTERNAL_ELEMENT`. -- In this case boundary elements are those which contains the boundary node. -- Boundary-node information is available by reading the mesh file, see mesh import method. -- It also forms `obj%elementData(ii)%boundaryData`. - -:::note -This subroutine treats all boundary element as `DOMAIN_BOUNDARY_ELEMENT` because it does not have information of surrouding mesh. However, this is not correct. This is because, not all mesh boundary elements are domain boundary elements. For example, some mesh-boundary element may be interface element between two mesh regions. This information can be corrected by calling [SetFacetElementType](../Domain/SetFacetElementType.md) method from [Domain_](../Domain/Domain_.md). +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. ::: -:::info -If we call [InitiateBoundaryData](../Domain/InitiateBoundaryData.md), then we do not have to call [SetFacetElementType](../Domain/SetFacetElementType.md) because the former routine makes an internal call to the latter. -::: - -This method needs following information: - -- `ElementToElements` -- `refelem` to construct the FacetElements +import EXAMPLE5 from "../AbstractMesh/InitiateBoundaryData.md"; -```fortran -INTERFACE - MODULE SUBROUTINE InitiateBoundaryData(obj) - CLASS(Mesh_), INTENT(INOUT) :: obj - !! mesh data - END SUBROUTINE InitiateBoundaryData -END INTERFACE -``` + diff --git a/docs/docs-api/FEMesh/InitiateElemSD.md b/docs/docs-api/FEMesh/InitiateElemSD.md index 49118b54..17745254 100644 --- a/docs/docs-api/FEMesh/InitiateElemSD.md +++ b/docs/docs-api/FEMesh/InitiateElemSD.md @@ -1,111 +1,11 @@ -# InitiateElemSD +--- +title: InitiateElemSD +--- -```fortran - MODULE SUBROUTINE InitiateElemSD(obj, & - & orderSpace, & - & linSpaceElem, & - & spaceElem, & - & quadTypeForSpace, & - & continuityTypeForSpace, & - & interpolTypeForSpace ) - CLASS(Mesh_), INTENT(INOUT) :: obj - INTEGER(I4B), INTENT(IN) :: orderSpace - !! integrand order in space - CLASS(ReferenceElement_), TARGET, INTENT(IN) :: linSpaceElem - !! linear (simplex) space element - CLASS(ReferenceElement_), TARGET, INTENT(IN) :: spaceElem - !! space element - CHARACTER(LEN=*), INTENT(IN) :: quadTypeForSpace - !! quadrature for space - CHARACTER(LEN=*), INTENT(IN) :: continuityTypeForSpace - !! continuity for base in space - CHARACTER(LEN=*), INTENT(IN) :: interpolTypeForSpace - !! interpolation type for base in space - END SUBROUTINE InitiateElemSD -``` +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE SUBROUTINE mesh_initiateElemSD2(obj, & - & orderSpace, & - & linSpaceElem, & - & spaceElem, & - & quadTypeForSpace, & - & continuityTypeForSpace, & - & interpolTypeForSpace, & - & orderTime, & - & linTimeElem, & - & timeElem, & - & quadTypeForTime, & - & continuityTypeForTime, & - & interpolTypeForTime, & - & tvec) - CLASS(Mesh_), INTENT(INOUT) :: obj - INTEGER(I4B), INTENT(IN) :: orderSpace - !! integrand order in space - CLASS(ReferenceElement_), TARGET, INTENT(IN) :: linSpaceElem - !! linear space element - CLASS(ReferenceElement_), TARGET, INTENT(IN) :: spaceElem - !! space element - CHARACTER(LEN=*), INTENT(IN) :: quadTypeForSpace - !! quadrature type for space - CHARACTER(LEN=*), INTENT(IN) :: continuityTypeForSpace - !! continuity type of base in space - CHARACTER(LEN=*), INTENT(IN) :: interpolTypeForSpace - !! interpol type of base in space - INTEGER(I4B), INTENT(IN) :: orderTime - !! integrand order in time - TYPE(ReferenceLine_), INTENT(IN) :: linTimeElem - !! linear time element - TYPE(ReferenceLine_), INTENT(IN) :: timeElem - !! time element - CHARACTER(LEN=*), INTENT(IN) :: quadTypeForTime - !! quadrature type of base in time - CHARACTER(LEN=*), INTENT(IN) :: continuityTypeForTime - !! continuity type of base in time - CHARACTER(LEN=*), INTENT(IN) :: interpolTypeForTime - !! interpol type of base in time - REAL(DFP), INTENT(IN) :: tvec(:) - END SUBROUTINE mesh_initiateElemSD2 -``` +import EXAMPLE5 from "../AbstractMesh/InitiateElemSD.md"; -```fortran - MODULE SUBROUTINE mesh_initiateElemSD3(obj, & - & orderSpace, & - & linSpaceElem, & - & spaceElem, & - & quadTypeForSpace, & - & continuityTypeForSpace, & - & interpolTypeForSpace, & - & orderTime, & - & linTimeElem, & - & timeElem, & - & quadTypeForTime, & - & continuityTypeForTime, & - & interpolTypeForTime ) - CLASS(Mesh_), INTENT(INOUT) :: obj - INTEGER(I4B), INTENT(IN) :: orderSpace - !! integrand order in space - CLASS(ReferenceElement_), TARGET, INTENT(IN) :: linSpaceElem - !! linear space element - CLASS(ReferenceElement_), TARGET, INTENT(IN) :: spaceElem - !! space element - CHARACTER(LEN=*), INTENT(IN) :: quadTypeForSpace - !! quadrature type of base in space - CHARACTER(LEN=*), INTENT(IN) :: continuityTypeForSpace - !! continuity type of base in space - CHARACTER(LEN=*), INTENT(IN) :: interpolTypeForSpace - !! interpolation type of base in space - INTEGER(I4B), INTENT(IN) :: orderTime - !! integrand order in time - TYPE(ReferenceLine_), INTENT(IN) :: linTimeElem - !! linear time element - TYPE(ReferenceLine_), INTENT(IN) :: timeElem - !! time element - CHARACTER(LEN=*), INTENT(IN) :: quadTypeForTime - !! quadrature type of base in time - CHARACTER(LEN=*), INTENT(IN) :: continuityTypeForTime - !! continuity type of base in time - CHARACTER(LEN=*), INTENT(IN) :: interpolTypeForTime - !! interpolation type of base in time - END SUBROUTINE mesh_initiateElemSD3 -``` + diff --git a/docs/docs-api/FEMesh/InitiateElementToElements.md b/docs/docs-api/FEMesh/InitiateElementToElements.md index 03640493..b524ff7c 100644 --- a/docs/docs-api/FEMesh/InitiateElementToElements.md +++ b/docs/docs-api/FEMesh/InitiateElementToElements.md @@ -1,22 +1,12 @@ -# InitiateElementToElements +--- +title: InitiateElementToElements +--- -This routine creates the element surrounding a given element data +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -- Before calling this routine, make sure the `refelem` in mesh is allocated. -- By using `refelem`, this routine forms the FacetElements. -- This routine needs `nodeToElements` information, therefore, if `nodeToElements` is not initiated then it calls `initiateNodeToelements` method. +import EXAMPLE5 from "../AbstractMesh/InitiateElementToElements.md"; -- This method forms following data: -- `obj%elementData(ielem)%globalElements` -- It also identifies those elements which are boundary element of mesh, and set `obj%elementData(ielem)%elementType=BOUNDARY_ELEMENT` for those elements. -- Note that at this point these boundary-elements can be interface element - between two meshs, or domain-boundary element. + -```fortran -INTERFACE - MODULE SUBROUTINE InitiateElementToElements(obj) - CLASS(Mesh_), INTENT(INOUT) :: obj - !! mesh data - END SUBROUTINE InitiateElementToElements -END INTERFACE -``` diff --git a/docs/docs-api/FEMesh/InitiateExtraNodeToNodes.md b/docs/docs-api/FEMesh/InitiateExtraNodeToNodes.md index 189df003..2e79cfd2 100644 --- a/docs/docs-api/FEMesh/InitiateExtraNodeToNodes.md +++ b/docs/docs-api/FEMesh/InitiateExtraNodeToNodes.md @@ -1,20 +1,11 @@ -# InitiateExtraNodetoNodes +--- +title: InitiateExtraNodetoNodes +--- -This routine generate the node to nodes mapping +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -- This mapping is stored inside `obj%nodeData%extraGlobalNodeNum` -- For a local node number i, `obj%nodeData(i)%ExtraGlobalNodeNum` denotes the global node data surrounding the local node number used for edge-based stabilization. This list does not include self node. +import EXAMPLE5 from "../AbstractMesh/InitiateExtraNodeToNodes.md"; -- It needs information about `nodeToNodes`, `nodeToElements`, and `elementToElements`. Therefore, -- If `nodeToNodes` is not initiated, then this method initiates it. -- If `nodeToElements` is not initiated, then this method initiates it. -- If `elementToElements` is not initiated, then this method initiates it. - -```fortran -INTERFACE - MODULE SUBROUTINE InitiateExtraNodetoNodes(obj) - CLASS(Mesh_), INTENT(INOUT) :: obj - !! mesh data - END SUBROUTINE InitiateExtraNodetoNodes -END INTERFACE -``` + diff --git a/docs/docs-api/FEMesh/InitiateFacetElements.md b/docs/docs-api/FEMesh/InitiateFacetElements.md index e42628b2..fd1c82ec 100644 --- a/docs/docs-api/FEMesh/InitiateFacetElements.md +++ b/docs/docs-api/FEMesh/InitiateFacetElements.md @@ -2,43 +2,11 @@ title: InitiateFacetElements --- -This routine initiates the facet element data, such as [`BoundaryFacetData`](./BoundaryFacetData_.md) and [`InternalFacetData_`](./InternalFacetData_.md). -This routine needs the following information: - -- `ElementToElements`, if this information is not available, then it calls [InitiateElementToElements](./InitiateElementToElements.md). -- `BoundaryData`, if this information is not available, then it calls [InitiateBoundaryData](./InitiateBoundaryData.md). - -It makes following data structures: - -- [InternalFacetData_](InternalFacetData_.md) -- [BoundaryFacetData_](BoundaryFacetData_.md) -- `FacetElementType` field in [Mesh_](Mesh_.md) - -:::info - -- This method cannot differentiate between a `BOUNDARY_ELEMENT`, which is a boundary-facet-element at the mesh-boundary, and `DOMAIN_BOUNDARY_ELEMENT`, which is facet element at the domain’s boundary. -- This is because, at this point we only know that a boundary-facet-element is a domain-boundary-element, as we have no information about the neighboring mesh. -- Therefore, all `boundaryFacet` elements, at this level, are of type `DOMAIN_BOUNDARY_ELEMENT`. This is because every `DOMAIN_BOUNDARY_ELEMENT` is a `BOUNDARY_ELEMENT`. -- This information can be corrected only when we call [`SetDomainFacetElement`](../Domain/SetDomainFacetElement.md) from [Domain_](../Domain/Domain_.md) class. +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. ::: -:::note -If we call [`SetDomainFacetElement`](../Domain/SetDomainFacetElement.md) then we do not have to worry about the above point. -::: - -Please check documentation of following methods: - -- [`SetDomainFacetElement`](../Domain/SetDomainFacetElement.md) -- [`SetMeshFacetElement`](../Domain/SetMeshFacetElement.md) -- [`SetFacetElementType`](../Domain/SetFacetElementType.md) - -## Interface +import EXAMPLE5 from "../AbstractMesh/InitiateFacetElements.md"; -```fortran -INTERFACE - MODULE SUBROUTINE InitiateFacetElements(obj) - CLASS(Mesh_), INTENT(INOUT) :: obj - END SUBROUTINE InitiateFacetElements -END INTERFACE -``` + diff --git a/docs/docs-api/FEMesh/InitiateNodeToElements.md b/docs/docs-api/FEMesh/InitiateNodeToElements.md index 1b7474a1..1682ac8a 100644 --- a/docs/docs-api/FEMesh/InitiateNodeToElements.md +++ b/docs/docs-api/FEMesh/InitiateNodeToElements.md @@ -1,24 +1,11 @@ -# InitiateNodeToElements +--- +title: InitiateNodeToElements +--- -- This subroutine generates elements surrounding a node mapping, in other words it generates node to element. -- Element numbers returned by this routine are global element number. -- This mapping is stored inside `obj%nodeData` array -- For a local node number `ii`, `obj%nodeData(ii)%globalElements(:)` contains the global element numbers. - -:::note -Always use method called `getNodeToElements()` to access this information. -This method requires global Node number +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. ::: -:::caution -Always use the mapping between global node number and local node number to -avoid segmentation fault -::: +import EXAMPLE5 from "../AbstractMesh/InitiateNodeToElements.md"; -```fortran -INTERFACE - MODULE SUBROUTINE InitiateNodeToElements(obj) - CLASS(Mesh_), INTENT(INOUT) :: obj - END SUBROUTINE InitiateNodeToElements -END INTERFACE -``` + diff --git a/docs/docs-api/FEMesh/InitiateNodeToNodes.md b/docs/docs-api/FEMesh/InitiateNodeToNodes.md index e01a32db..8aa215ee 100644 --- a/docs/docs-api/FEMesh/InitiateNodeToNodes.md +++ b/docs/docs-api/FEMesh/InitiateNodeToNodes.md @@ -1,18 +1,11 @@ -# InitiateNodeToNodes +--- +title: InitiateNodeToNodes +--- -This routine generate the node to nodes mapping +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -- In other words, it generates info of node-numbers in mesh surrounding a node number -- This mapping is stored inside `obj%nodeData%globalNodeNum` -- For a local node number i, obj%nodeData(i)%globalNodeNum denotes the global node data surrounding the local node number. -- This list does not include self node. -- The method needs node-to-elements data, therefore if this data is not initiated, then this method calls `InitiateNodeToElements()`. +import EXAMPLE5 from "../AbstractMesh/InitiateNodeToNodes.md"; -```fortran -INTERFACE - MODULE SUBROUTINE InitiateNodetoNodes(obj) - CLASS(Mesh_), INTENT(INOUT) :: obj - !! mesh data - END SUBROUTINE InitiateNodetoNodes -END INTERFACE -``` + diff --git a/docs/docs-api/FEMesh/InternalFacetData_.md b/docs/docs-api/FEMesh/InternalFacetData_.md deleted file mode 100644 index cc5b49be..00000000 --- a/docs/docs-api/FEMesh/InternalFacetData_.md +++ /dev/null @@ -1,30 +0,0 @@ ---- -sidebar_position: 4 -title: InternalFacetData ---- - -Data storage for internal facet of mesh. - -The internal facet of mesh contains two cell elements; master cell and slave cell. - -## Structure - -```fortran -TYPE InternalFacetData_ - INTEGER( I4B ) :: masterCellNumber = 0 - INTEGER( I4B ) :: slaveCellNumber = 0 - INTEGER( I4B ) :: masterLocalFacetID = 0 - INTEGER( I4B ) :: slaveLocalFacetID = 0 - CONTAINS - PROCEDURE, PUBLIC, PASS( obj ) :: Display => InternalFacetData_Display -END TYPE InternalFacetData_ -``` - -- `masterCellNumber` master cell number (global element number) -- `slaveCellNumber` slave cell number (global element number) -- `masterLocalFacetID` local-facet-number in master cell -- `slaveLocalFacetID` slave-facet-number in slave cell - -## Implementation details - -This data structure is initiated by the method called [`InitiateFacetElements`](./InitiateFacetElements.md). diff --git a/docs/docs-api/FEMesh/IsAllNodePresent.md b/docs/docs-api/FEMesh/IsAllNodePresent.md index a8311b33..afb38d3c 100644 --- a/docs/docs-api/FEMesh/IsAllNodePresent.md +++ b/docs/docs-api/FEMesh/IsAllNodePresent.md @@ -1,11 +1,11 @@ -# IsAllNodePresent +--- +title: IsAllNodePresent +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION isAllNodePresent(obj, globalNode) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: globalNode( : ) - LOGICAL(LGT) :: ans - END FUNCTION isAllNodePresent -``` +import EXAMPLE5 from "../AbstractMesh/IsAllNodePresent.md"; + + diff --git a/docs/docs-api/FEMesh/IsAnyNodePresent.md b/docs/docs-api/FEMesh/IsAnyNodePresent.md index 13e4f999..6aa26c2a 100644 --- a/docs/docs-api/FEMesh/IsAnyNodePresent.md +++ b/docs/docs-api/FEMesh/IsAnyNodePresent.md @@ -1,11 +1,11 @@ -# IsAnyNodePresent +--- +title: IsAnyNodePresent +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION isAnyNodePresent(obj, globalNode) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: globalNode( : ) - LOGICAL(LGT) :: ans - END FUNCTION isAnyNodePresent -``` +import EXAMPLE5 from "../AbstractMesh/IsAnyNodePresent.md"; + + diff --git a/docs/docs-api/FEMesh/IsBoundaryElement.md b/docs/docs-api/FEMesh/IsBoundaryElement.md index eaa1ca27..8372944d 100644 --- a/docs/docs-api/FEMesh/IsBoundaryElement.md +++ b/docs/docs-api/FEMesh/IsBoundaryElement.md @@ -1,12 +1,11 @@ -# IsBoundaryElement +--- +title: IsBoundaryElement +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION isBoundaryElement(obj, globalElement) & - & RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: globalElement - LOGICAL(LGT) :: ans - END FUNCTION isBoundaryElement -``` +import EXAMPLE5 from "../AbstractMesh/IsBoundaryElement.md"; + + diff --git a/docs/docs-api/FEMesh/IsBoundaryNode.md b/docs/docs-api/FEMesh/IsBoundaryNode.md index 3649415a..bbde7767 100644 --- a/docs/docs-api/FEMesh/IsBoundaryNode.md +++ b/docs/docs-api/FEMesh/IsBoundaryNode.md @@ -1,11 +1,12 @@ -# IsBoundaryNode +--- +title: IsBoundaryNode +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: + +import EXAMPLE5 from "../AbstractMesh/IsBoundaryNode.md"; + + -```fortran - MODULE PURE FUNCTION isBoundaryNode(obj, globalNode) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: globalNode - LOGICAL(LGT) :: ans - END FUNCTION isBoundaryNode -``` diff --git a/docs/docs-api/FEMesh/IsDomainBoundaryElement.md b/docs/docs-api/FEMesh/IsDomainBoundaryElement.md index b283dfc0..977fcf97 100644 --- a/docs/docs-api/FEMesh/IsDomainBoundaryElement.md +++ b/docs/docs-api/FEMesh/IsDomainBoundaryElement.md @@ -1,12 +1,11 @@ -# IsDomainBoundaryElement +--- +title: IsDomainBoundaryElement +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION isDomainBoundaryElement(obj, globalElement) & - & RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: globalElement - LOGICAL(LGT) :: ans - END FUNCTION isDomainBoundaryElement -``` +import EXAMPLE5 from "../AbstractMesh/IsDomainBoundaryElement.md"; + + diff --git a/docs/docs-api/FEMesh/IsElementPresent.md b/docs/docs-api/FEMesh/IsElementPresent.md index d742df22..1e2ee794 100644 --- a/docs/docs-api/FEMesh/IsElementPresent.md +++ b/docs/docs-api/FEMesh/IsElementPresent.md @@ -1,11 +1,11 @@ -# IsElementPresent +--- +title: IsElementPresent +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION isElementPresent(obj, GlobalElement) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: GlobalElement - LOGICAL(LGT) :: ans - END FUNCTION isElementPresent -``` +import EXAMPLE5 from "../AbstractMesh/IsElementPresent.md"; + + diff --git a/docs/docs-api/FEMesh/IsNodePresent.md b/docs/docs-api/FEMesh/IsNodePresent.md index 82b515ce..0c3927d8 100644 --- a/docs/docs-api/FEMesh/IsNodePresent.md +++ b/docs/docs-api/FEMesh/IsNodePresent.md @@ -1,11 +1,11 @@ -# IsNodePresent +--- +title: IsNodePresent +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION isNodePresent(obj, globalNode) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: globalNode - LOGICAL(LGT) :: ans - END FUNCTION isNodePresent -``` +import EXAMPLE5 from "../AbstractMesh/IsNodePresent.md"; + + diff --git a/docs/docs-api/FEMesh/SetSparsity.md b/docs/docs-api/FEMesh/SetSparsity.md index 5ee98896..fafa43bf 100644 --- a/docs/docs-api/FEMesh/SetSparsity.md +++ b/docs/docs-api/FEMesh/SetSparsity.md @@ -1,97 +1,11 @@ -# SetSparsity +--- +title: SetSparsity +---- -This method sets the sparsity in the `CSRMatrix`. +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: - +import EXAMPLE5 from "../AbstractMesh/SetSparsity.md"; -## Interface 1 - -```fortran -INTERFACE - MODULE SUBROUTINE obj_SetSparsity1(obj, mat, localNodeNumber, lbound, & - & ubound) - CLASS(AbstractMesh_), INTENT(INOUT) :: obj - !! [[Mesh_]] class - TYPE(CSRMatrix_), INTENT(INOUT) :: mat - !! [[CSRMatrix_]] object - INTEGER(I4B), INTENT(IN) :: lbound - INTEGER(I4B), INTENT(IN) :: ubound - INTEGER(I4B), INTENT(IN) :: localNodeNumber(lbound:ubound) - !! Global to local node number map - END SUBROUTINE obj_SetSparsity1 -END INTERFACE -``` - -- `localNodeNumber` is used to convert the global node numbers of mesh to local node number in `mat` -- `lbound` and `ubound` are bounds of `localNodeNumber` - -The algorithm is as follows: - -1. Start loop of node numbers in mesh -2. Get the global node number of mesh -3. Get the global node numbers around this node -4. Use `localNodeNumber` to get the local node number of global node number (from step 3) -5. Call `SetSparsity` on `mat` from `base` lib. - -## Interface 2 - -```fortran -INTERFACE - MODULE SUBROUTINE obj_SetSparsity2(obj, mat) - CLASS(AbstractMesh_), INTENT(INOUT) :: obj - !! Mesh_ class - TYPE(CSRMatrix_), INTENT(INOUT) :: mat - !! CSRMatrix object - END SUBROUTINE obj_SetSparsity2 -END INTERFACE -``` - -## Inteface 3 - -```fortran -INTERFACE - MODULE SUBROUTINE obj_SetSparsity3(obj, colMesh, nodeToNode, mat, & - & ivar, jvar) - CLASS(AbstractMesh_), INTENT(INOUT) :: obj - !! Abstract mesh class - CLASS(AbstractMesh_), INTENT(INOUT) :: colMesh - !! Abstract mesh class - INTEGER(I4B), INTENT(IN) :: nodeToNode(:) - !! Node to node connectivity between obj and colMesh - TYPE(CSRMatrix_), INTENT(INOUT) :: mat - !! [[CSRMatrix_]] object - INTEGER(I4B), INTENT(IN) :: ivar - INTEGER(I4B), INTENT(IN) :: jvar - END SUBROUTINE obj_SetSparsity3 -END INTERFACE -``` - -## Interface 4 - -```fortran -INTERFACE - MODULE SUBROUTINE obj_SetSparsity4(obj, colMesh, nodeToNode, mat, & - rowGlobalToLocalNodeNum, rowLBOUND, rowUBOUND, & - colGlobalToLocalNodeNum, colLBOUND, colUBOUND, ivar, jvar) - CLASS(AbstractMesh_), INTENT(INOUT) :: obj - !! [[Mesh_]] class - CLASS(AbstractMesh_), INTENT(INOUT) :: colMesh - !! [[Mesh_]] class - INTEGER(I4B), INTENT(IN) :: nodeToNode(:) - !! node to node connectivity between obj and colMesh - TYPE(CSRMatrix_), INTENT(INOUT) :: mat - !! [[CSRMatrix_]] object - INTEGER(I4B), INTENT(IN) :: rowLBOUND - INTEGER(I4B), INTENT(IN) :: rowUBOUND - INTEGER(I4B), INTENT(IN) :: rowGlobalToLocalNodeNum( & - & rowLBOUND:rowUBOUND) - !! Global to local node number map - INTEGER(I4B), INTENT(IN) :: colLBOUND - INTEGER(I4B), INTENT(IN) :: colUBOUND - INTEGER(I4B), INTENT(IN) :: colGlobalToLocalNodeNum( & - & colLBOUND:colUBOUND) - INTEGER(I4B), INTENT(IN) :: ivar - INTEGER(I4B), INTENT(IN) :: jvar - END SUBROUTINE obj_SetSparsity4 -END INTERFACE -``` + diff --git a/docs/docs-api/FEMesh/Size.md b/docs/docs-api/FEMesh/Size.md index 23e512e6..e8133eb0 100644 --- a/docs/docs-api/FEMesh/Size.md +++ b/docs/docs-api/FEMesh/Size.md @@ -1,11 +1,11 @@ -# Size +--- +title: Size +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION size(obj) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - !! mesh object - INTEGER(I4B) :: ans - END FUNCTION size -``` +import EXAMPLE5 from "../AbstractMesh/Size.md"; + + diff --git a/docs/docs-api/FEMesh/examples/_GetNNE_test_1.F90 b/docs/docs-api/FEMesh/examples/_GetNNE_test_1.F90 index b1deec79..f000299f 100644 --- a/docs/docs-api/FEMesh/examples/_GetNNE_test_1.F90 +++ b/docs/docs-api/FEMesh/examples/_GetNNE_test_1.F90 @@ -1,16 +1,15 @@ - PROGRAM main - USE easifemBase - USE easifemClasses - IMPLICIT NONE - TYPE( FEMesh_ ) :: obj - TYPE( HDF5File_ ) :: meshfile - CHARACTER( LEN = *), PARAMETER :: filename= & - & "../../Mesh/examples/meshdata/small_mesh_two_region.h5" - CALL meshfile%Initiate( FileName=filename, MODE="READ" ) - CALL meshfile%Open() - CALL obj%Initiate(hdf5=meshfile, dim=2) - CALL OK(obj%GetNNE( obj%GetGlobalElemNumber(1) ) .EQ. 4_I4B, "NNE: ") - CALL obj%Deallocate() - CALL meshfile%Deallocate() +USE easifemBase +USE easifemClasses +IMPLICIT NONE +TYPE(FEMesh_) :: obj +TYPE(HDF5File_) :: meshfile +CHARACTER(LEN=*), PARAMETER :: filename = & + & "../../Mesh/examples/meshdata/small_mesh_two_region.h5" +CALL meshfile%Initiate(FileName=filename, MODE="READ") +CALL meshfile%OPEN() +CALL obj%Initiate(hdf5=meshfile, dim=2) +CALL OK(obj%GetNNE(obj%GetGlobalElemNumber(1)) .EQ. 4_I4B, "NNE: ") +CALL obj%DEALLOCATE() +CALL meshfile%DEALLOCATE() END PROGRAM main diff --git a/docs/docs-api/FEMesh/examples/_Initiate_test_1.F90 b/docs/docs-api/FEMesh/examples/_Initiate_test_1.F90 index ba7e9e47..4a0ef849 100644 --- a/docs/docs-api/FEMesh/examples/_Initiate_test_1.F90 +++ b/docs/docs-api/FEMesh/examples/_Initiate_test_1.F90 @@ -1,19 +1,21 @@ PROGRAM main -USE MSHFile_Class +USE MSHFile_Class, ONLY: MSHFile_ USE HDF5File_Class +USE GlobalData IMPLICIT NONE TYPE(MSHFile_) :: mshFile TYPE(HDF5File_) :: hdf5file +CHARACTER(*), PARAMETER :: filename = "./meshdata/small_tri3_mesh" -CALL mshFile%Initiate( filename="./meshdata/small_mesh.msh", STATUS="OLD", ACTION="READ" ) +CALL mshFile%Initiate(filename=filename//".msh", STATUS="OLD", ACTION="READ") CALL mshFile%OPEN() CALL mshFile%READ() -CALL hdf5file%Initiate("./meshdata/small_mesh.h5", MODE="NEW") +CALL hdf5file%Initiate(filename//".h5", MODE="NEW") CALL hdf5file%OPEN() @@ -21,4 +23,5 @@ PROGRAM main CALL mshFile%DEALLOCATE() CALL hdf5file%DEALLOCATE() + END PROGRAM main diff --git a/docs/docs-api/FEMesh/examples/_Initiate_test_1.md b/docs/docs-api/FEMesh/examples/_Initiate_test_1.md index c8d7553f..45095d2e 100644 --- a/docs/docs-api/FEMesh/examples/_Initiate_test_1.md +++ b/docs/docs-api/FEMesh/examples/_Initiate_test_1.md @@ -1,47 +1,7 @@ - +This example shows how to convert a mesh from Gmsh format to HDF5 format which is necessary to initiate the FEMesh object. -This example shows how to initiate an instance of `Mesh_` by reading data -from mesh file, which is in `HDF5File_` format. +import CodeBlock from '@theme/CodeBlock'; +import MyCode from '!!raw-loader!./_Initiate_test_1.F90'; -```fortran -PROGRAM main - USE easifemBase - USE easifemClasses - IMPLICIT NONE - TYPE( FEMesh_ ) :: obj - TYPE( HDF5File_ ) :: meshfile - CHARACTER( LEN = *), PARAMETER :: filename= & - & "../../Mesh/examples/meshdata/small_mesh.h5" -``` +{MyCode} -Initiate and open the mesh file which is in `HDF5File_` format. - -```fortran -CALL meshfile%Initiate( FileName=filename, MODE="READ" ) -``` - -Open the mesh file - -```fortran -CALL meshfile%Open() -``` - -Initiate an instance of `Mesh_` - -```fortran -CALL obj%Initiate(hdf5=meshfile, group="/surfaceEntities_1" ) -``` - -Display the content of mesh. - -```fortran -CALL obj%Display("") -``` - -cleaning up. - -```fortran - CALL obj%Deallocate() - CALL meshfile%Deallocate() -END PROGRAM main -``` diff --git a/docs/docs-api/FEMesh/examples/_Initiate_test_2.F90 b/docs/docs-api/FEMesh/examples/_Initiate_test_2.F90 index 6b113f6d..f7e3b713 100644 --- a/docs/docs-api/FEMesh/examples/_Initiate_test_2.F90 +++ b/docs/docs-api/FEMesh/examples/_Initiate_test_2.F90 @@ -1,10 +1,11 @@ PROGRAM main -USE FEMesh_Class -USE HDF5File_Class +USE FEMesh_Class, only: FEMesh_ +USE HDF5File_Class, only: HDF5File_ USE GlobalData, ONLY: I4B USE Test_Method, ONLY: OK IMPLICIT NONE + TYPE(FEMesh_) :: obj TYPE(HDF5File_) :: meshfile CHARACTER(LEN=*), PARAMETER :: filename = & diff --git a/docs/docs-api/FEMesh/examples/_generate_mesh_files.md b/docs/docs-api/FEMesh/examples/_generate_mesh_files.md new file mode 100644 index 00000000..4b23abb0 --- /dev/null +++ b/docs/docs-api/FEMesh/examples/_generate_mesh_files.md @@ -0,0 +1,13 @@ +This document describes how to get the mesh files required to run the examples. + +In this director you will find a directory called `meshdata` which contains the fortran code for generating the mesh files using Gmsh. Please run those files to generate the mesh files. After generating the mesh files you can run the examples given here. The description of each file is given below. + +1. ./meshdata/Generate3DMesh.F90: This file generates a 3D structured mesh of eight nodes brick elements. +2. ./meshdata/Generate3DMesh_two_regions.F90: This file generates a 3D structured mesh of eight nodes brick elements with two regions. +3. ./meshdata/GenerateMesh2D_triangle.F90: This file generates a 2D mesh of three and six nodes triangle elements. In this file you need to define the one of the following macro variables. Note that this program generates will create file in gmsh as well as hdf format. + - `SMALL_TRI3_MESH`: This will generate a mesh of six nodes triangle elements. + - `SMALL_TRI6_MESH`: This will generate a small mesh of six node triangle elements. + - `BIG_TRI3_MESH`: This will generate a moderately big mesh of three nodes triangle elements. + - `BIG_BIG_TRI3_MESH`: This will generate a big mesh of three nodes triangle elements + - `BIG_TRI6_MESH`: This will generate a moderately big mesh of six nodes triangle elements. + - `BIG_BIG_TRI6_MESH`: This will generate a big mesh of six nodes triangle elements diff --git a/docs/docs-api/FEMesh/examples/meshdata/Generate3DMesh.F90 b/docs/docs-api/FEMesh/examples/meshdata/Generate3DMesh.F90 new file mode 100644 index 00000000..efdda96a --- /dev/null +++ b/docs/docs-api/FEMesh/examples/meshdata/Generate3DMesh.F90 @@ -0,0 +1,58 @@ +PROGRAM main +USE easifemBase +USE easifemClasses +USE GlobalData +IMPLICIT NONE + +TYPE(GmshStructuredMesh_) :: obj +TYPE(Gmsh_) :: gmsh +TYPE(ParameterList_) :: param +CHARACTER(*), PARAMETER :: title = "small_mesh_3d" +REAL(DFP), PARAMETER :: pointsOnAxis1(2) = [0.0, 1.0] +REAL(DFP), PARAMETER :: pointsOnAxis2(2) = [0.0, 1.0] +REAL(DFP), PARAMETER :: pointsOnAxis3(2) = [0.0, 1.0] + +INTEGER(I4B), PARAMETER :: transfinitePointsOnAxis1(1) = [3] +INTEGER(I4B), PARAMETER :: transfinitePointsOnAxis2(1) = [2] +INTEGER(I4B), PARAMETER :: transfinitePointsOnAxis3(1) = [2] + +INTEGER(I4B) :: ierr + +TYPE(MSHFile_) :: mshFile +TYPE(HDF5File_) :: hdf5file + +CALL FPL_Init() +CALL param%Initiate() + +CALL SetGmshStructuredMeshParam( & + & param=param, & + & filename=title//".msh", & + & pointsOnAxis1=pointsOnAxis1, & + & pointsOnAxis2=pointsOnAxis2, & + & pointsOnAxis3=pointsOnAxis3, & + & transfinitePointsOnAxis1=transfinitePointsOnAxis1, & + & transfinitePointsOnAxis2=transfinitePointsOnAxis2, & + & transfinitePointsOnAxis3=transfinitePointsOnAxis3, & + & recombineAll=.TRUE.) + +CALL obj%Initiate(param) + +ierr = gmsh%initialize() +ierr = gmsh%model%add("GmshStructuredMesh3D") +CALL obj%Generate(gmsh) +! ierr = gmsh%fltk%run() +ierr = gmsh%finalize() + +CALL param%DEALLOCATE() +CALL obj%DEALLOCATE() + +CALL mshFile%Initiate(filename=title//'.msh', STATUS="OLD", ACTION="READ") +CALL mshFile%OPEN() +CALL mshFile%READ() +CALL hdf5file%Initiate(title//'.h5', MODE="NEW") +CALL hdf5file%OPEN() +CALL mshFile%Export(hdf5=hdf5file, group="") +CALL mshFile%DEALLOCATE() +CALL hdf5file%DEALLOCATE() + +END PROGRAM main diff --git a/docs/docs-api/FEMesh/examples/meshdata/Generate3DMesh_two_regions.F90 b/docs/docs-api/FEMesh/examples/meshdata/Generate3DMesh_two_regions.F90 new file mode 100644 index 00000000..5517bcbe --- /dev/null +++ b/docs/docs-api/FEMesh/examples/meshdata/Generate3DMesh_two_regions.F90 @@ -0,0 +1,57 @@ +PROGRAM main +USE easifemBase +USE easifemClasses +IMPLICIT NONE + +TYPE(GmshStructuredMesh_) :: obj +TYPE(Gmsh_) :: gmsh +TYPE(ParameterList_) :: param +CHARACTER(*), PARAMETER :: title = "small_mesh_3d_two_region" +REAL(DFP), PARAMETER :: pointsOnAxis1(3) = [0.0, 1.0, 2.0] +REAL(DFP), PARAMETER :: pointsOnAxis2(2) = [0.0, 1.0] +REAL(DFP), PARAMETER :: pointsOnAxis3(2) = [0.0, 1.0] + +INTEGER(I4B), PARAMETER :: transfinitePointsOnAxis1(2) = [3, 3] +INTEGER(I4B), PARAMETER :: transfinitePointsOnAxis2(1) = [2] +INTEGER(I4B), PARAMETER :: transfinitePointsOnAxis3(1) = [2] + +INTEGER(I4B) :: ierr + +TYPE(MSHFile_) :: mshFile +TYPE(HDF5File_) :: hdf5file + +CALL FPL_Init() +CALL param%Initiate() + +CALL SetGmshStructuredMeshParam( & + & param=param, & + & filename=title//".msh", & + & pointsOnAxis1=pointsOnAxis1, & + & pointsOnAxis2=pointsOnAxis2, & + & pointsOnAxis3=pointsOnAxis3, & + & transfinitePointsOnAxis1=transfinitePointsOnAxis1, & + & transfinitePointsOnAxis2=transfinitePointsOnAxis2, & + & transfinitePointsOnAxis3=transfinitePointsOnAxis3, & + & recombineAll=.TRUE.) + +CALL obj%Initiate(param) + +ierr = gmsh%initialize() +ierr = gmsh%model%add("GmshStructuredMesh3D") +CALL obj%Generate(gmsh) +! ierr = gmsh%fltk%run() +ierr = gmsh%finalize() + +CALL param%DEALLOCATE() +CALL obj%DEALLOCATE() + +CALL mshFile%Initiate(filename=title//'.msh', STATUS="OLD", ACTION="READ") +CALL mshFile%OPEN() +CALL mshFile%READ() +CALL hdf5file%Initiate(title//'.h5', MODE="NEW") +CALL hdf5file%OPEN() +CALL mshFile%Export(hdf5=hdf5file, group="") +CALL mshFile%DEALLOCATE() +CALL hdf5file%DEALLOCATE() + +END PROGRAM main diff --git a/docs/docs-api/FEMesh/examples/meshdata/GenerateMesh2D_quad_two_regions.F90 b/docs/docs-api/FEMesh/examples/meshdata/GenerateMesh2D_quad_two_regions.F90 new file mode 100644 index 00000000..2163efd7 --- /dev/null +++ b/docs/docs-api/FEMesh/examples/meshdata/GenerateMesh2D_quad_two_regions.F90 @@ -0,0 +1,53 @@ +PROGRAM main +USE easifemBase +USE easifemClasses +IMPLICIT NONE + +TYPE(GmshStructuredMesh_) :: obj +TYPE(Gmsh_) :: gmsh +TYPE(ParameterList_) :: param +CHARACTER(*), PARAMETER :: title = "small_mesh_two_region" +REAL(DFP), PARAMETER :: pointsOnAxis1(3) = [0.0, 1.0, 2.0] +REAL(DFP), PARAMETER :: pointsOnAxis2(2) = [0.0, 1.0] + +INTEGER(I4B), PARAMETER :: transfinitePointsOnAxis1(2) = [3, 3] +INTEGER(I4B), PARAMETER :: transfinitePointsOnAxis2(1) = [2] + +INTEGER(I4B) :: ierr + +TYPE(MSHFile_) :: mshFile +TYPE(HDF5File_) :: hdf5file + +CALL FPL_Init() +CALL param%Initiate() + +CALL SetGmshStructuredMeshParam( & + & param=param, & + & filename=title//".msh", & + & pointsOnAxis1=pointsOnAxis1, & + & pointsOnAxis2=pointsOnAxis2, & + & transfinitePointsOnAxis1=transfinitePointsOnAxis1, & + & transfinitePointsOnAxis2=transfinitePointsOnAxis2, & + & recombineAll=.TRUE.) + +CALL obj%Initiate(param) + +ierr = gmsh%initialize() +ierr = gmsh%model%add("GmshStructuredMesh2D") +CALL obj%Generate(gmsh) +! ierr = gmsh%fltk%run() +ierr = gmsh%finalize() + +CALL param%DEALLOCATE() +CALL obj%DEALLOCATE() + +CALL mshFile%Initiate(filename=title//'.msh', STATUS="OLD", ACTION="READ") +CALL mshFile%OPEN() +CALL mshFile%READ() +CALL hdf5file%Initiate(title//'.h5', MODE="NEW") +CALL hdf5file%OPEN() +CALL mshFile%Export(hdf5=hdf5file, group="") +CALL mshFile%DEALLOCATE() +CALL hdf5file%DEALLOCATE() + +END PROGRAM main diff --git a/docs/docs-api/FEMesh/examples/meshdata/GenerateMesh2D_quadrangle.F90 b/docs/docs-api/FEMesh/examples/meshdata/GenerateMesh2D_quadrangle.F90 new file mode 100644 index 00000000..4765d119 --- /dev/null +++ b/docs/docs-api/FEMesh/examples/meshdata/GenerateMesh2D_quadrangle.F90 @@ -0,0 +1,59 @@ +PROGRAM main +USE GmshStructuredMesh_Class +USE Gmsh_Class +USE FPL +USE GlobalData +USE MSHFIle_Class +USE HDF5File_Class + +IMPLICIT NONE + +TYPE(GmshStructuredMesh_) :: obj +TYPE(Gmsh_) :: gmsh +TYPE(ParameterList_) :: param +! CHARACTER(*), PARAMETER :: title = "small_quad4_mesh" +CHARACTER(*), PARAMETER :: title = "very_small_quad4_mesh" +REAL(DFP), PARAMETER :: pointsOnAxis1(2) = [0.0, 1.0] +REAL(DFP), PARAMETER :: pointsOnAxis2(2) = [0.0, 1.0] + +INTEGER(I4B), PARAMETER :: transfinitePointsOnAxis1(1) = [3] +INTEGER(I4B), PARAMETER :: transfinitePointsOnAxis2(1) = [3] + +INTEGER(I4B) :: ierr + +TYPE(MSHFile_) :: mshFile +TYPE(HDF5File_) :: hdf5file + +CALL FPL_Init() +CALL param%Initiate() + +CALL SetGmshStructuredMeshParam( & + & param=param, & + & filename=title//".msh", & + & pointsOnAxis1=pointsOnAxis1, & + & pointsOnAxis2=pointsOnAxis2, & + & transfinitePointsOnAxis1=transfinitePointsOnAxis1, & + & transfinitePointsOnAxis2=transfinitePointsOnAxis2, & + & recombineAll=.TRUE.) + +CALL obj%Initiate(param) + +ierr = gmsh%initialize() +ierr = gmsh%model%add("GmshStructuredMesh2D") +CALL obj%Generate(gmsh) +! ierr = gmsh%fltk%run() +ierr = gmsh%finalize() + +CALL param%DEALLOCATE() +CALL obj%DEALLOCATE() + +CALL mshFile%Initiate(filename=title//'.msh', STATUS="OLD", ACTION="READ") +CALL mshFile%OPEN() +CALL mshFile%READ() +CALL hdf5file%Initiate(title//'.h5', MODE="NEW") +CALL hdf5file%OPEN() +CALL mshFile%Export(hdf5=hdf5file, group="") +CALL mshFile%DEALLOCATE() +CALL hdf5file%DEALLOCATE() + +END PROGRAM main diff --git a/docs/docs-api/FEMesh/examples/meshdata/GenerateMesh2D_triangle.F90 b/docs/docs-api/FEMesh/examples/meshdata/GenerateMesh2D_triangle.F90 new file mode 100644 index 00000000..bd91cf0c --- /dev/null +++ b/docs/docs-api/FEMesh/examples/meshdata/GenerateMesh2D_triangle.F90 @@ -0,0 +1,110 @@ +#define SMALL_TRI3_MESH +!#define SMALL_TRI6_MESH +!#define BIG_TRI3_MESH +!#define BIG_BIG_TRI3_MESH +!#define BIG_TRI6_MESH +!#define BIG_BIG_TRI6_MESH + +PROGRAM main +USE easifemBase +USE Gmsh_Class +USE HDF5File_Class +USE MSHFile_Class + +TYPE(Gmsh_) :: gmsh + +#ifdef SMALL_TRI3_MESH +CHARACTER(LEN=*), PARAMETER :: title = "small_tri3_mesh" +REAL(DFP), PARAMETER :: lx = 2.0 +REAL(DFP), PARAMETER :: ly = 2.0 +INTEGER(I4B), PARAMETER :: order = 1 +#endif + +#ifdef SMALL_TRI6_MESH +CHARACTER(LEN=*), PARAMETER :: title = "small_tri6_mesh" +REAL(DFP), PARAMETER :: lx = 2.0 +REAL(DFP), PARAMETER :: ly = 2.0 +INTEGER(I4B), PARAMETER :: order = 2 +#endif + +#ifdef BIG_TRI3_MESH +CHARACTER(LEN=*), PARAMETER :: title = "big_tri3_mesh" +REAL(DFP), PARAMETER :: lx = 100.0 +REAL(DFP), PARAMETER :: ly = 100.0 +INTEGER(I4B), PARAMETER :: order = 1 +#endif + +#ifdef BIG_BIG_TRI3_MESH +CHARACTER(LEN=*), PARAMETER :: title = "big_big_tri3_mesh" +REAL(DFP), PARAMETER :: lx = 500.0 +REAL(DFP), PARAMETER :: ly = 200.0 +INTEGER(I4B), PARAMETER :: order = 1 +#endif + +#ifdef BIG_TRI6_MESH +CHARACTER(LEN=*), PARAMETER :: title = "big_tri6_mesh" +REAL(DFP), PARAMETER :: lx = 100.0 +REAL(DFP), PARAMETER :: ly = 100.0 +INTEGER(I4B), PARAMETER :: order = 2 +#endif + +#ifdef BIG_BIG_TRI6_MESH +CHARACTER(LEN=*), PARAMETER :: title = "big_big_tri6_mesh" +REAL(DFP), PARAMETER :: lx = 500.0 +REAL(DFP), PARAMETER :: ly = 200.0 +INTEGER(I4B), PARAMETER :: order = 2 +#endif + +REAL(DFP), PARAMETER :: meshSize = 1.0 +REAL(DFP), PARAMETER :: corner(3) = 0.0_DFP +INTEGER(I4B) :: ierr +REAL(DFP) :: x, y, z, lc + +TYPE(MSHFile_) :: mshFile +TYPE(HDF5File_) :: hdf5file + +ierr = gmsh%Initialize() +ierr = gmsh%model%add(title) + +x = corner(1); y = corner(2); z = corner(3); lc = meshSize +ierr = gmsh%model%geo%addPoint(x=x, y=y, z=z, meshSize=lc, tag=1) + +x = x + lx; y = y; z = z; lc = lc +ierr = gmsh%model%geo%addPoint(x=x, y=y, z=z, meshSize=lc, tag=2) + +x = x; y = y + ly; z = z; lc = lc +ierr = gmsh%model%geo%addPoint(x=x, y=y, z=z, meshSize=lc, tag=3) + +x = corner(1); y = y; z = z; lc = lc +ierr = gmsh%model%geo%addPoint(x=x, y=y, z=z, meshSize=lc, tag=4) + +ierr = gmsh%model%geo%addLine(1, 2, 1) +ierr = gmsh%model%geo%addLine(2, 3, 2) +ierr = gmsh%model%geo%addLine(3, 4, 3) +ierr = gmsh%model%geo%addLine(4, 1, 4) + +ierr = gmsh%model%geo%addCurveLoop([1, 2, 3, 4], tag=1) + +ierr = gmsh%model%geo%addPlaneSurface([1], 1) + +ierr = gmsh%model%geo%synchronize() + +ierr = gmsh%option%setNumber(VALUE=1, name="Mesh.SaveAll") +ierr = gmsh%model%mesh%generate(2) + +ierr = gmsh%model%mesh%setOrder(order) + +ierr = gmsh%WRITE(title//'.msh') + +ierr = gmsh%Finalize() + +CALL mshFile%Initiate(filename=title//'.msh', STATUS="OLD", ACTION="READ") +CALL mshFile%OPEN() +CALL mshFile%READ() +CALL hdf5file%Initiate(title//'.h5', MODE="NEW") +CALL hdf5file%OPEN() +CALL mshFile%Export(hdf5=hdf5file, group="") +CALL mshFile%DEALLOCATE() +CALL hdf5file%DEALLOCATE() + +END PROGRAM main diff --git a/docs/docs-api/FEMesh/examples/meshdata/msh2hdf5.F90 b/docs/docs-api/FEMesh/examples/meshdata/msh2hdf5.F90 new file mode 100644 index 00000000..1a5221ff --- /dev/null +++ b/docs/docs-api/FEMesh/examples/meshdata/msh2hdf5.F90 @@ -0,0 +1,37 @@ +PROGRAM main +USE GlobalData +USE MSHFIle_Class +USE HDF5File_Class +USE Display_Method + +IMPLICIT NONE + +CHARACTER(*), PARAMETER :: title = "very_small_quad4_mesh" +INTEGER(I4B) :: ierr +TYPE(MSHFile_) :: mshFile +TYPE(HDF5File_) :: hdf5file + +CALL Display("flag 1") + +CALL mshFile%Initiate(filename=title//'.msh', STATUS="OLD", ACTION="READ") + +CALL Display("flag 2") + +CALL mshFile%OPEN() +CALL mshFile%READ() + +CALL Display("flag 2") + +CALL hdf5file%Initiate(title//'.h5', MODE="NEW") +CALL hdf5file%OPEN() + +CALL Display("flag 3") + +CALL mshFile%Export(hdf5=hdf5file, group="") + +CALL Display("flag 4") + +CALL mshFile%DEALLOCATE() +CALL hdf5file%DEALLOCATE() + +END PROGRAM main diff --git a/docs/docs-api/FEMesh/examples/meshdata/runner.toml b/docs/docs-api/FEMesh/examples/meshdata/runner.toml new file mode 100644 index 00000000..90f91481 --- /dev/null +++ b/docs/docs-api/FEMesh/examples/meshdata/runner.toml @@ -0,0 +1,3 @@ +BuildType = "Debug" +BuildDir = "/tmp/mesh/" +TargetLibs = ["easifemClasses"] diff --git a/docs/docs-api/FEMesh/examples/meshdata/tri3_mesh_two_regions.F90 b/docs/docs-api/FEMesh/examples/meshdata/tri3_mesh_two_regions.F90 new file mode 100644 index 00000000..b5bef22b --- /dev/null +++ b/docs/docs-api/FEMesh/examples/meshdata/tri3_mesh_two_regions.F90 @@ -0,0 +1,54 @@ +PROGRAM main +USE easifemBase +USE easifemClasses +IMPLICIT NONE + +TYPE(GmshStructuredMesh_) :: obj +TYPE(Gmsh_) :: gmsh +TYPE(ParameterList_) :: param +CHARACTER(*), PARAMETER :: title = "small_tri3_mesh_two_region" +REAL(DFP), PARAMETER :: pointsOnAxis1(3) = [0.0, 1.0, 2.0] +REAL(DFP), PARAMETER :: pointsOnAxis2(2) = [0.0, 1.0] + +INTEGER(I4B), PARAMETER :: transfinitePointsOnAxis1(2) = [5, 5] +INTEGER(I4B), PARAMETER :: transfinitePointsOnAxis2(1) = [5] +LOGICAL(LGT), PARAMETER :: recombineAll = .FALSE. + +INTEGER(I4B) :: ierr + +TYPE(MSHFile_) :: mshFile +TYPE(HDF5File_) :: hdf5file + +CALL FPL_Init() +CALL param%Initiate() + +CALL SetGmshStructuredMeshParam( & + & param=param, & + & filename=title//".msh", & + & pointsOnAxis1=pointsOnAxis1, & + & pointsOnAxis2=pointsOnAxis2, & + & transfinitePointsOnAxis1=transfinitePointsOnAxis1, & + & transfinitePointsOnAxis2=transfinitePointsOnAxis2, & + & recombineAll=recombineAll) + +CALL obj%Initiate(param) + +ierr = gmsh%initialize() +ierr = gmsh%model%add("GmshStructuredMesh2D") +CALL obj%Generate(gmsh) +! ierr = gmsh%fltk%run() +ierr = gmsh%finalize() + +CALL param%DEALLOCATE() +CALL obj%DEALLOCATE() + +CALL mshFile%Initiate(filename=title//'.msh', STATUS="OLD", ACTION="READ") +CALL mshFile%OPEN() +CALL mshFile%READ() +CALL hdf5file%Initiate(title//'.h5', MODE="NEW") +CALL hdf5file%OPEN() +CALL mshFile%Export(hdf5=hdf5file, group="") +CALL mshFile%DEALLOCATE() +CALL hdf5file%DEALLOCATE() + +END PROGRAM main diff --git a/docs/docs-api/FEMesh/index.md b/docs/docs-api/FEMesh/index.md index 89c61b57..cf68193b 100644 --- a/docs/docs-api/FEMesh/index.md +++ b/docs/docs-api/FEMesh/index.md @@ -1,10 +1,10 @@ --- sidebar_position: 1 -date: 2024-03-19 -update: 2024-03-19 +date: 2024-03-19 +update: 2025-05-05 status: stable docs: done -extpkgs: none +extpkgs: none category: - Domain - Mesh diff --git a/docs/docs-api/HierarchicalPolynomialUtility/index.md b/docs/docs-api/HierarchicalPolynomialUtility/index.md index 23e27f17..85562204 100644 --- a/docs/docs-api/HierarchicalPolynomialUtility/index.md +++ b/docs/docs-api/HierarchicalPolynomialUtility/index.md @@ -1,7 +1,6 @@ --- -sidebar_position: 1 -date: 2024-07-07 -update: 2024-07-07 +date: 2024-07-07 +update: 2024-07-07 status: stable docs: done extpkgs: none @@ -20,8 +19,3 @@ tags: This module is a collection of methods which are useful for Hierarchical Polynomials. -## Methods - -import DocCardList from '@theme/DocCardList'; - - diff --git a/docs/docs-api/Mesh/BoundaryFacetData_.md b/docs/docs-api/Mesh/BoundaryFacetData_.md deleted file mode 100644 index 0be57431..00000000 --- a/docs/docs-api/Mesh/BoundaryFacetData_.md +++ /dev/null @@ -1,52 +0,0 @@ ---- -title: BoundaryFacetData -sidebar_position: 5 ---- - -Data storage for boundary elements (i.e., facets which coincides with the boundary of mesh) - -`BoundaryFacetData_` represents the domain boundary elements which are located -on the boundary of the domain. - -Of course `domainFacet` elements are located on the mesh's boundary with only difference that these elements do not have `slaveCellNumber` - -## Structure - -```fortran -TYPE BoundaryFacetData_ - INTEGER( I4B ) :: masterCellNumber = 0 - INTEGER( I4B ) :: masterLocalFacetID = 0 - INTEGER( I4B ) :: elementType = 0 - CONTAINS - PROCEDURE, PUBLIC, PASS( obj ) :: Display => BoundaryFacetData_Display -END TYPE BoundaryFacetData_ -``` - -:::info `masterCellNumber` -::: - -Master cell number. - -:::info `masterLocalFacetID` -::: - -Local face number in the master cell. - -:::info `elementType` -::: - -This variable distinguishes between domain boundary element and mesh boundary element. - -## Implementation details - -This data structure is initiated by the method called [`InitiateFacetElements`](./InitiateFacetElements.md). - -The information is further refined by [`SetDomainFacetElement`](../Domain/SetDomainFacetElement.md) from [Domain_](../Domain/Domain_.md) class. - -### Mesh boundary element - -A mesh boundary element is a facet element which is located at the mesh's boundary. - -### Domain boundary element - -A domain boundary element is a facet element which is located at the mesh's boundary. diff --git a/docs/docs-api/Mesh/Deallocate.md b/docs/docs-api/Mesh/Deallocate.md new file mode 100644 index 00000000..5e98380c --- /dev/null +++ b/docs/docs-api/Mesh/Deallocate.md @@ -0,0 +1,16 @@ +# Deallocate + +Deallocate the data stored in the mesh object. + +:::info +This method is overloaded in Mesh. +::: + + +```fortran +INTERFACE + MODULE SUBROUTINE obj_Deallocate(obj) + CLASS(Mesh_), INTENT(INOUT) :: obj + END SUBROUTINE obj_Deallocate +END INTERFACE +``` diff --git a/docs/docs-api/Mesh/Display.md b/docs/docs-api/Mesh/Display.md index d2d2d04f..3c54a420 100644 --- a/docs/docs-api/Mesh/Display.md +++ b/docs/docs-api/Mesh/Display.md @@ -1,5 +1,11 @@ # Display +Display the contents of the mesh object. + +:::info +This method is overloaded in Mesh. +::: + ## Interface ```fortran diff --git a/docs/docs-api/Mesh/DisplayBoundaryFacetData.md b/docs/docs-api/Mesh/DisplayBoundaryFacetData.md index e5548186..2a74909c 100644 --- a/docs/docs-api/Mesh/DisplayBoundaryFacetData.md +++ b/docs/docs-api/Mesh/DisplayBoundaryFacetData.md @@ -1,13 +1,11 @@ -# DisplayBoundaryFacetData +--- +title: DisplayBoundaryFacetData +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran -INTERFACE - MODULE SUBROUTINE mesh_DisplayBoundaryFacetData(obj, msg, unitno) - CLASS(Mesh_), INTENT(IN) :: obj - CHARACTER(*), INTENT(IN) :: msg - INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno - END SUBROUTINE mesh_DisplayBoundaryFacetData -END INTERFACE -``` +import EXAMPLE5 from "../AbstractMesh/DisplayBoundaryFacetData.md"; + + diff --git a/docs/docs-api/Mesh/DisplayElementData.md b/docs/docs-api/Mesh/DisplayElementData.md index 22b7ad6a..1e8fe337 100644 --- a/docs/docs-api/Mesh/DisplayElementData.md +++ b/docs/docs-api/Mesh/DisplayElementData.md @@ -1,13 +1,12 @@ -# DisplayElementData - -## Interface - -```fortran -INTERFACE - MODULE SUBROUTINE mesh_DisplayElementData(obj, msg, unitno) - CLASS(Mesh_), INTENT(IN) :: obj - CHARACTER(*), INTENT(IN) :: msg - INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno - END SUBROUTINE mesh_DisplayElementData -END INTERFACE -``` +--- +title: DisplayElementData +--- + +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: + +import EXAMPLE5 from "../AbstractMesh/DisplayElementData.md"; + + + diff --git a/docs/docs-api/Mesh/DisplayFacetElemSD.md b/docs/docs-api/Mesh/DisplayFacetElemSD.md index 7ebb5a9e..b06bbfc6 100644 --- a/docs/docs-api/Mesh/DisplayFacetElemSD.md +++ b/docs/docs-api/Mesh/DisplayFacetElemSD.md @@ -1,13 +1,12 @@ -# DisplayFacetElemSD - -## Interface - -```fortran -INTERFACE - MODULE SUBROUTINE mesh_DisplayFacetElements(obj, msg, unitno) - CLASS(Mesh_), INTENT(IN) :: obj - CHARACTER(*), INTENT(IN) :: msg - INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno - END SUBROUTINE mesh_DisplayFacetElements -END INTERFACE -``` +--- +title: DisplayFacetElemSD +--- + +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: + +import EXAMPLE5 from "../AbstractMesh/DisplayFacetElemSD.md"; + + + diff --git a/docs/docs-api/Mesh/DisplayFacetElements.md b/docs/docs-api/Mesh/DisplayFacetElements.md index f88e3b4e..2887d290 100644 --- a/docs/docs-api/Mesh/DisplayFacetElements.md +++ b/docs/docs-api/Mesh/DisplayFacetElements.md @@ -1,5 +1,7 @@ # DisplayFacetElements +Display the facet elements of a mesh. + ## Interface ```fortran diff --git a/docs/docs-api/Mesh/DisplayInternalFacetData.md b/docs/docs-api/Mesh/DisplayInternalFacetData.md index f4b66d68..6444a669 100644 --- a/docs/docs-api/Mesh/DisplayInternalFacetData.md +++ b/docs/docs-api/Mesh/DisplayInternalFacetData.md @@ -1,13 +1,11 @@ -# DisplayInternalFacetData +--- +title: DisplayInternalFacetData +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran -INTERFACE - MODULE SUBROUTINE mesh_DisplayInternalFacetData(obj, msg, unitno) - CLASS(Mesh_), INTENT(IN) :: obj - CHARACTER(*), INTENT(IN) :: msg - INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno - END SUBROUTINE mesh_DisplayInternalFacetData -END INTERFACE -``` +import EXAMPLE5 from "../AbstractMesh/DisplayInternalFacetData.md"; + + diff --git a/docs/docs-api/Mesh/DisplayNodeData.md b/docs/docs-api/Mesh/DisplayNodeData.md index 1ea1ab9a..8e69e602 100644 --- a/docs/docs-api/Mesh/DisplayNodeData.md +++ b/docs/docs-api/Mesh/DisplayNodeData.md @@ -1,13 +1,11 @@ -# DisplayNodeData +--- +title: DisplayNodeData +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran -INTERFACE - MODULE SUBROUTINE mesh_DisplayNodeData(obj, msg, unitno) - CLASS(Mesh_), INTENT(IN) :: obj - CHARACTER(*), INTENT(IN) :: msg - INTEGER(I4B), OPTIONAL, INTENT(IN) :: unitno - END SUBROUTINE mesh_DisplayNodeData -END INTERFACE -``` +import EXAMPLE5 from "../AbstractMesh/DisplayNodeData.md"; + + diff --git a/docs/docs-api/Mesh/ElemData_.md b/docs/docs-api/Mesh/ElemData_.md deleted file mode 100644 index c77d8740..00000000 --- a/docs/docs-api/Mesh/ElemData_.md +++ /dev/null @@ -1,40 +0,0 @@ ---- -sidebar_position: 3 ---- - -# ElemData - -It is a data type for storing the element-data information. - -The methods related to this data structure are in ElementDataMethods, BoundaryDataMethods, FacetDataMethods - -```fortran -TYPE :: ElemData_ - INTEGER(I4B) :: globalElemNum = 0 - INTEGER(I4B) :: localElemNum = 0 - INTEGER(I4B) :: elementType = INTERNAL_ELEMENT - INTEGER(I4B), ALLOCATABLE :: globalNodes(:) - INTEGER(I4B), ALLOCATABLE :: globalElements(:) - INTEGER(I4B), ALLOCATABLE :: boundaryData(:) - CONTAINS - PROCEDURE, PUBLIC, PASS( obj ) :: Display => elemData_Display -END TYPE ElemData_ -``` - -- `globalElemNum` global element number -- `localElemNum` local element number -- `elementType` following element types are defined: - - `BOUNDARY_ELEMENT`: If the element contains the boundary node of the mesh, then it will be called the boundary element - - `INTERNAL_ELEMENT`: If the element does not contain the boundary node of the mesh, then it will be called the internal element -- `globalNodes` nodes contained in the element, i.e., connectivity -- `globalElements` contains the information about the elements surrounding an element. This is explained below: - -Let us say that `globalElem1`, `globalElem2`, and `globalElem3` surround a local element `ielem` (its global element number is globalElem), then - -- `globalElements( [1,2,3] )` contains `globalElem1`, `pFace`, `nFace` -- `globalElements( [4,5,6] )` contains `globalElem2`, `pFace`, `nFace` -- `globalElements( [7,8,9] )` contains `globalElem3`, `pFace`, `nFace`. - -Here, `pFace` is the local-facet-number of parent element, i.e., `globalElem (ielem)`, which is connected to the `nFace` (local-facet-number) of the neighboring element. - -- `boundaryData` If an element contains the boundary node of the mesh, then it is considered as a boundary element. If `iel` is a boundary element, then `boudnaryData` contains the local-facet-numbers of `iel` which coincides with the mesh boundary. It may happen that a boundary element has no boundary face (but only a single boundary node), in this case `boundaryData` will have zero size. diff --git a/docs/docs-api/Mesh/Export.md b/docs/docs-api/Mesh/Export.md new file mode 100644 index 00000000..4f1be400 --- /dev/null +++ b/docs/docs-api/Mesh/Export.md @@ -0,0 +1 @@ +# Export diff --git a/docs/docs-api/Mesh/GetBoundaryElementData.md b/docs/docs-api/Mesh/GetBoundaryElementData.md index 90e563d1..0ad84216 100644 --- a/docs/docs-api/Mesh/GetBoundaryElementData.md +++ b/docs/docs-api/Mesh/GetBoundaryElementData.md @@ -1,32 +1,13 @@ -# GetBoundaryElementData +--- +title: GetBoundaryElementData +--- -Returns the boundary element data. +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -## Interface - - - - -```fortran -MODULE PURE FUNCTION getBoundaryElementData(obj, globalElement) & - & RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: globalElement - INTEGER(I4B), ALLOCATABLE :: ans(:) -END FUNCTION getBoundaryElementData -``` - - - - - -import EXAMPLE5 from "./examples/_GetBoundaryElementData_test_1.md"; +import EXAMPLE5 from "../AbstractMesh/GetBoundaryElementData.md"; - - - - - diff --git a/docs/docs-api/Mesh/GetBoundaryNptrs.md b/docs/docs-api/Mesh/GetBoundaryNptrs.md index 33066f82..a61fa4fb 100644 --- a/docs/docs-api/Mesh/GetBoundaryNptrs.md +++ b/docs/docs-api/Mesh/GetBoundaryNptrs.md @@ -1,10 +1,12 @@ -# GetBoundaryNptrs +--- +title: GetBoundaryNptrs +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: + +import EXAMPLE5 from "../AbstractMesh/GetBoundaryNptrs.md"; + + -```fortran - MODULE PURE FUNCTION getBoundaryNptrs(obj) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), ALLOCATABLE :: ans(:) - END FUNCTION getBoundaryNptrs -``` diff --git a/docs/docs-api/Mesh/GetBoundingBox.md b/docs/docs-api/Mesh/GetBoundingBox.md index 346c34e2..9e8f2081 100644 --- a/docs/docs-api/Mesh/GetBoundingBox.md +++ b/docs/docs-api/Mesh/GetBoundingBox.md @@ -1,21 +1,12 @@ -# GetBoundingBox +--- +title: GetBoundingBox +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION getBoundingBox(obj) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - TYPE(BoundingBox_) :: ans - END FUNCTION getBoundingBox -``` +import EXAMPLE5 from "../AbstractMesh/GetBoundingBox.md"; + + -```fortran - MODULE PURE FUNCTION getBoundingBox(obj, nodes, local_nptrs) & - & RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - REAL(DFP), INTENT(IN) :: nodes(:, :) - !! Nodal coordinates in XiJ format - INTEGER(I4B), OPTIONAL, INTENT(IN) :: local_nptrs(:) - TYPE(BoundingBox_) :: ans - END FUNCTION getBoundingBox -``` diff --git a/docs/docs-api/Mesh/GetBoundingEntity.md b/docs/docs-api/Mesh/GetBoundingEntity.md index 79df25d0..b15908db 100644 --- a/docs/docs-api/Mesh/GetBoundingEntity.md +++ b/docs/docs-api/Mesh/GetBoundingEntity.md @@ -1,10 +1,11 @@ -# GetBoundingEntity +--- +title: GetBoundingEntity +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION getBoundingEntity(obj) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), ALLOCATABLE :: ans(:) - END FUNCTION getBoundingEntity -``` +import EXAMPLE5 from "../AbstractMesh/GetBoundingEntity.md"; + + diff --git a/docs/docs-api/Mesh/GetCellNumber.md b/docs/docs-api/Mesh/GetCellNumber.md index 4999f68a..794c8b68 100644 --- a/docs/docs-api/Mesh/GetCellNumber.md +++ b/docs/docs-api/Mesh/GetCellNumber.md @@ -1,14 +1,13 @@ -# GetCellNumber - -## Interface - -```fortran - MODULE PURE FUNCTION getCellNumber( obj, facetElement, & - & elementType, facetBoundary ) RESULT( ans ) - CLASS( Mesh_ ), INTENT( IN ) :: obj - INTEGER( I4B ), INTENT( IN ) :: facetElement - INTEGER( I4B ), INTENT( IN ) :: elementType - INTEGER( I4B ), OPTIONAL, INTENT( IN ) :: facetBoundary - INTEGER( I4B ) :: ans( 2 ) - END FUNCTION getCellNumber -``` +--- +title: GetCellNumber +--- + +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: + +import EXAMPLE5 from "../AbstractMesh/GetCellNumber.md"; + + + + diff --git a/docs/docs-api/Mesh/GetConnectivity.md b/docs/docs-api/Mesh/GetConnectivity.md index 62517693..ddec5a88 100644 --- a/docs/docs-api/Mesh/GetConnectivity.md +++ b/docs/docs-api/Mesh/GetConnectivity.md @@ -1,11 +1,11 @@ -# GetConnectivity +--- +title: GetConnectivity +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION getConnectivity(obj, globalElement) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: globalElement - INTEGER(I4B), ALLOCATABLE :: ans(:) - END FUNCTION getConnectivity -``` +import EXAMPLE5 from "../AbstractMesh/GetConnectivity.md"; + + diff --git a/docs/docs-api/Mesh/GetElemNum.md b/docs/docs-api/Mesh/GetElemNum.md index 3b426591..674df0c0 100644 --- a/docs/docs-api/Mesh/GetElemNum.md +++ b/docs/docs-api/Mesh/GetElemNum.md @@ -1,10 +1,12 @@ -# GetElemNum +--- +title: GetElemNum +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: + +import EXAMPLE5 from "../AbstractMesh/GetElemNum.md"; + + -```fortran - MODULE FUNCTION getElemNum(obj) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), ALLOCATABLE :: ans(:) - END FUNCTION getElemNum -``` diff --git a/docs/docs-api/Mesh/GetElementToElements.md b/docs/docs-api/Mesh/GetElementToElements.md index 559abc7e..444a3565 100644 --- a/docs/docs-api/Mesh/GetElementToElements.md +++ b/docs/docs-api/Mesh/GetElementToElements.md @@ -1,40 +1,12 @@ -# GetElementToElements +--- +title: GetElementToElements +--- -Get element to elements connectivity information. +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -## Interface - - - - -```fortran -MODULE PURE FUNCTION getElementToElements(obj, globalElement, & - & onlyElements) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - !! mesh data - INTEGER(I4B), INTENT(IN) :: globalElement - !! Global element number - LOGICAL(LGT), OPTIONAL, INTENT(IN) :: onlyElements - !! If onlyElements is absent or it is FALSE then full information - !! about the elements connected to element iel is given - !! If onlyElements is present and it is TRUE then only the - !! information about the elements connected to element iel is given - INTEGER(I4B), ALLOCATABLE :: ans(:, :) - !! list of elements surrounding elements -END FUNCTION getElementToElements -``` - - - - - -import EXAMPLE5 from "./examples/_GetElementToElements_test_1.md"; +import EXAMPLE5 from "../AbstractMesh/GetElementToElements.md"; - - - - - - diff --git a/docs/docs-api/Mesh/GetFacetConnectivity.md b/docs/docs-api/Mesh/GetFacetConnectivity.md index 0230d074..fd70f6d2 100644 --- a/docs/docs-api/Mesh/GetFacetConnectivity.md +++ b/docs/docs-api/Mesh/GetFacetConnectivity.md @@ -1,31 +1,12 @@ -# GetFacetConnectivity +--- +title: GetFacetConnectivity +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION getFacetConnectivity( obj, facetElement, & - & elementType, isMaster, facetBoundary ) RESULT( ans ) - CLASS( Mesh_ ), INTENT( IN ) :: obj - INTEGER( I4B ), INTENT( IN ) :: facetElement - INTEGER( I4B ), INTENT( IN ) :: elementType - LOGICAL( LGT ), INTENT( IN ) :: isMaster - !! if isMaster is true then connectivity of facet in master-cell - !! is returned, otherwise connectivity of facet in slave-cell - !! is returned. This is only applicable for internal facet element - !! because for domain facet we do not have slave-cell. - !! Currently, we do not support slave-cell for meshFacet because - !! the slave of meshFacet lives in different instance of - INTEGER( I4B ), OPTIONAL, INTENT( IN ) :: facetBoundary - INTEGER( I4B ), ALLOCATABLE :: ans( : ) - END FUNCTION getFacetConnectivity -``` +import EXAMPLE5 from "../AbstractMesh/GetFacetConnectivity.md"; + + -```fortran - MODULE PURE FUNCTION getFacetConnectivity( obj, globalElement, & - & iface ) RESULT( ans ) - CLASS( Mesh_ ), INTENT( IN ) :: obj - INTEGER( I4B ), INTENT( IN ) :: globalElement - INTEGER( I4B ), INTENT( IN ) :: iface - INTEGER( I4B ), ALLOCATABLE :: ans( : ) - END FUNCTION getFacetConnectivity -``` diff --git a/docs/docs-api/Mesh/GetFacetElementType.md b/docs/docs-api/Mesh/GetFacetElementType.md index fae6cee9..dd3133b4 100644 --- a/docs/docs-api/Mesh/GetFacetElementType.md +++ b/docs/docs-api/Mesh/GetFacetElementType.md @@ -1,12 +1,11 @@ -# GetFacetElementType +--- +title: GetFacetElementType +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION getFacetElementType( obj, globalElement ) & - & RESULT( ans ) - CLASS( Mesh_ ), INTENT( IN ) :: obj - INTEGER( I4B ), INTENT( IN ) :: globalElement - INTEGER( I4B ), ALLOCATABLE :: ans( : ) - END FUNCTION getFacetElementType -``` +import EXAMPLE5 from "../AbstractMesh/GetFacetElementType.md"; + + diff --git a/docs/docs-api/Mesh/GetGlobalElemNumber.md b/docs/docs-api/Mesh/GetGlobalElemNumber.md index 9c50f4d6..8a30cfd1 100644 --- a/docs/docs-api/Mesh/GetGlobalElemNumber.md +++ b/docs/docs-api/Mesh/GetGlobalElemNumber.md @@ -1,20 +1,12 @@ -# GetGlobalElemNumber +--- +title: GetGlobalElemNumber +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION getGlobalElemNumber(obj, LocalElement) & - & RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: LocalElement(:) - INTEGER(I4B) :: ans(SIZE(LocalElement)) - END FUNCTION getGlobalElemNumber -``` +import EXAMPLE5 from "../AbstractMesh/GetGlobalElemNumber.md"; + + -```fortran - MODULE PURE FUNCTION getGlobalElemNumber(obj, LocalElement) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: LocalElement - INTEGER(I4B) :: ans - END FUNCTION getGlobalElemNumber -``` diff --git a/docs/docs-api/Mesh/GetGlobalNodeNumber.md b/docs/docs-api/Mesh/GetGlobalNodeNumber.md index 5544b193..9c17eaad 100644 --- a/docs/docs-api/Mesh/GetGlobalNodeNumber.md +++ b/docs/docs-api/Mesh/GetGlobalNodeNumber.md @@ -1,19 +1,14 @@ -# GetGlobalNodeNumber +--- +title: GetGlobalNodeNumber +--- + +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: + +import EXAMPLE5 from "../AbstractMesh/GetGlobalNodeNumber.md"; + + -## Interface -```fortran - MODULE PURE FUNCTION getGlobalNodeNumber(obj, localNode) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: localNode(:) - INTEGER(I4B) :: ans(SIZE(localNode)) - END FUNCTION getGlobalNodeNumber -``` -```fortran - MODULE PURE FUNCTION getGlobalNodeNumber(obj, localNode) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: localNode - INTEGER(I4B) :: ans - END FUNCTION getGlobalNodeNumber -``` diff --git a/docs/docs-api/Mesh/GetInternalNptrs.md b/docs/docs-api/Mesh/GetInternalNptrs.md index 1c513583..9dbf74c1 100644 --- a/docs/docs-api/Mesh/GetInternalNptrs.md +++ b/docs/docs-api/Mesh/GetInternalNptrs.md @@ -1,10 +1,11 @@ -# GetInternalNptrs +--- +title: GetInternalNptrs +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION getInternalNptrs(obj) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), ALLOCATABLE :: ans(:) - END FUNCTION getInternalNptrs -``` +import EXAMPLE5 from "../AbstractMesh/GetInternalNptrs.md"; + + diff --git a/docs/docs-api/Mesh/GetLocalElemNumber.md b/docs/docs-api/Mesh/GetLocalElemNumber.md index ca8f534a..4a48480c 100644 --- a/docs/docs-api/Mesh/GetLocalElemNumber.md +++ b/docs/docs-api/Mesh/GetLocalElemNumber.md @@ -1,19 +1,11 @@ -# GetLocalElemNumber +--- +title: GetLocalElemNumber +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION getLocalElemNumber(obj, GlobalElement) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: GlobalElement(:) - INTEGER(I4B) :: ans(SIZE(GlobalElement)) - END FUNCTION getLocalElemNumber -``` +import EXAMPLE5 from "../AbstractMesh/GetLocalElemNumber.md"; -```fortran - MODULE PURE FUNCTION getLocalElemNumber(obj, GlobalElement) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: GlobalElement - INTEGER(I4B) :: ans - END FUNCTION getLocalElemNumber -``` + diff --git a/docs/docs-api/Mesh/GetLocalFacetID.md b/docs/docs-api/Mesh/GetLocalFacetID.md index ac258cbd..cc869b15 100644 --- a/docs/docs-api/Mesh/GetLocalFacetID.md +++ b/docs/docs-api/Mesh/GetLocalFacetID.md @@ -1,15 +1,11 @@ -# GetLocalFacetID +--- +title: GetLocalFacetID +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION getLocalFacetID( obj, facetElement, & - & elementType, isMaster, facetBoundary ) RESULT( ans ) - CLASS( Mesh_ ), INTENT( IN ) :: obj - INTEGER( I4B ), INTENT( IN ) :: facetElement - INTEGER( I4B ), INTENT( IN ) :: elementType - LOGICAL( LGT ), INTENT( IN ) :: isMaster - INTEGER( I4B ), OPTIONAL, INTENT( IN ) :: facetBoundary - INTEGER( I4B ) :: ans - END FUNCTION getLocalFacetID -``` +import EXAMPLE5 from "../AbstractMesh/GetLocalFacetID.md"; + + diff --git a/docs/docs-api/Mesh/GetLocalNodeNumber.md b/docs/docs-api/Mesh/GetLocalNodeNumber.md index a3c5fa1d..ac84cfaa 100644 --- a/docs/docs-api/Mesh/GetLocalNodeNumber.md +++ b/docs/docs-api/Mesh/GetLocalNodeNumber.md @@ -1,19 +1,12 @@ -# GetLocalNodeNumber +--- +title: GetLocalNodeNumber +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION getLocalNodeNumber(obj, globalNode) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: globalNode(:) - INTEGER(I4B) :: ans(SIZE(globalNode)) - END FUNCTION getLocalNodeNumber -``` +import EXAMPLE5 from "../AbstractMesh/GetLocalNodeNumber.md"; + + -```fortran - MODULE PURE FUNCTION getLocalNodeNumber(obj, globalNode) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: globalNode - INTEGER(I4B) :: ans - END FUNCTION getLocalNodeNumber -``` diff --git a/docs/docs-api/Mesh/GetMasterCellNumber.md b/docs/docs-api/Mesh/GetMasterCellNumber.md index 939c6858..c3f44384 100644 --- a/docs/docs-api/Mesh/GetMasterCellNumber.md +++ b/docs/docs-api/Mesh/GetMasterCellNumber.md @@ -1,15 +1,12 @@ -# GetMasterCellNumber - -## Interface - -```fortran - MODULE PURE FUNCTION getMasterCellNumber( obj, facetElement, & - & elementType, facetBoundary )& - & RESULT( ans ) - CLASS( Mesh_ ), INTENT( IN ) :: obj - INTEGER( I4B ), INTENT( IN ) :: facetElement - INTEGER( I4B ), INTENT( IN ) :: elementType - INTEGER( I4B ), OPTIONAL, INTENT( IN ) :: facetBoundary - INTEGER( I4B ) :: ans - END FUNCTION getMasterCellNumber -``` +--- +title: GetMasterCellNumber +--- + +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: + +import EXAMPLE5 from "../AbstractMesh/GetMasterCellNumber.md"; + + + diff --git a/docs/docs-api/Mesh/GetNodeToElements.md b/docs/docs-api/Mesh/GetNodeToElements.md index 33552373..b5bd75b6 100644 --- a/docs/docs-api/Mesh/GetNodeToElements.md +++ b/docs/docs-api/Mesh/GetNodeToElements.md @@ -1,51 +1,12 @@ -# GetNodeToElements +--- +title: GetNodeToElements +--- -Get node to elements connectivity. +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -There are two interfaces to this method. - -## Interface - -### Interface 1 - - - - -```fortran -MODULE PURE FUNCTION getNodeToElements(obj, globalNode) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - !! mesh data - INTEGER(I4B), INTENT(IN) :: globalNode - !! global node number - INTEGER(I4B), ALLOCATABLE :: ans(:) - !! A vector of local element number -END FUNCTION getNodeToElements -``` - - - - - -import EXAMPLE5 from "./examples/_GetNodeToElements_test_1.md"; +import EXAMPLE5 from "../AbstractMesh/GetNodeToNodes.md"; - - - - - - - -### Interface 2 - -```fortran -MODULE PURE FUNCTION getNodeToElements(obj, globalNode) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - !! mesh data - INTEGER(I4B), INTENT(IN) :: globalNode(:) - !! global node number - INTEGER(I4B), ALLOCATABLE :: ans(:) - !! A vector of local element number -END FUNCTION getNodeToElements -``` diff --git a/docs/docs-api/Mesh/GetNodeToNodes.md b/docs/docs-api/Mesh/GetNodeToNodes.md index 03ff9155..cd87714e 100644 --- a/docs/docs-api/Mesh/GetNodeToNodes.md +++ b/docs/docs-api/Mesh/GetNodeToNodes.md @@ -1,51 +1,12 @@ -# GetNodeToNodes +--- +title: GetNodeToNodes +--- -Returns node to node connectivity in the mess. +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -## Interface +import EXAMPLE5 from "../AbstractMesh/GetNodeToNodes.md"; -There are two interfaces to this method + -### Interface 1 - - - - -```fortran -MODULE PURE FUNCTION getNodeToNodes(obj, globalNode, IncludeSelf) & - & RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: globalNode - LOGICAL(LGT), INTENT(IN) :: IncludeSelf - INTEGER(I4B), ALLOCATABLE :: ans(:) -END FUNCTION getNodeToNodes -``` - - - - - -```fortran -MODULE PURE FUNCTION getNodeToNodes(obj, globalNode, IncludeSelf) & - & RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: globalNode( : ) - LOGICAL(LGT), INTENT(IN) :: IncludeSelf - INTEGER(I4B), ALLOCATABLE :: ans(:) -END FUNCTION getNodeToNodes -``` - - - - - -import EXAMPLE11 from "./examples/_GetNodeToNodes_test_1.md"; - - - - - - - - - diff --git a/docs/docs-api/Mesh/GetNptrs.md b/docs/docs-api/Mesh/GetNptrs.md index 2a524c86..7f72b9fe 100644 --- a/docs/docs-api/Mesh/GetNptrs.md +++ b/docs/docs-api/Mesh/GetNptrs.md @@ -1,10 +1,12 @@ -# GetNptrs +--- +title: GetNptrs +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: + +import EXAMPLE5 from "../AbstractMesh/GetNptrs.md"; + + -```fortran - MODULE PURE FUNCTION getNptrs(obj) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), ALLOCATABLE :: ans(:) - END FUNCTION getNptrs -``` diff --git a/docs/docs-api/Mesh/GetOrder.md b/docs/docs-api/Mesh/GetOrder.md new file mode 100644 index 00000000..c2b401de --- /dev/null +++ b/docs/docs-api/Mesh/GetOrder.md @@ -0,0 +1,14 @@ +# GetOrder + +This function returns the order of the reference element associated with the mesh object. + +## Interface + +```fortran +INTERFACE + MODULE FUNCTION obj_GetOrder(obj) RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + INTEGER(I4B) :: ans + END FUNCTION obj_GetOrder +END INTERFACE +``` diff --git a/docs/docs-api/Mesh/GetParam.md b/docs/docs-api/Mesh/GetParam.md new file mode 100644 index 00000000..974ce802 --- /dev/null +++ b/docs/docs-api/Mesh/GetParam.md @@ -0,0 +1,34 @@ +# GetParam + +This subroutine returns the parameters of the mesh object. + +## Interface + +```fortran +INTERFACE + MODULE SUBROUTINE obj_GetParam(obj, & + & isInitiated, isNodeToElementsInitiated, isNodeToNodesInitiated, & + & isExtraNodeToNodesInitiated, isElementToElementsInitiated, & + & isBoundaryDataInitiated, isFacetDataInitiated, uid, & + & xidim, elemType, nsd, maxNptrs, minNptrs, & + & maxElemNum, minElemNum, tNodes, tElements, & + & minX, minY, minZ, maxX, maxY, maxZ, & + & x, y, z, tElements_topology_wise, tElemTopologies, elemTopologies) + CLASS(Mesh_), INTENT(IN) :: obj + LOGICAL(LGT), OPTIONAL, INTENT(OUT) :: isInitiated, & + & isNodeToElementsInitiated, isNodeToNodesInitiated, & + & isExtraNodeToNodesInitiated, isElementToElementsInitiated, & + & isBoundaryDataInitiated, isFacetDataInitiated + + INTEGER(I4B), OPTIONAL, INTENT(OUT) :: uid, & + & xidim, elemType, nsd, maxNptrs, minNptrs, & + & maxElemNum, minElemNum, tNodes, & + & tElements, tElements_topology_wise(8), tElemTopologies, & + & elemTopologies(8) + + REAL(DFP), OPTIONAL, INTENT(OUT) :: minX, & + & minY, minZ, maxX, maxY, maxZ, & + & x, y, z + END SUBROUTINE obj_GetParam +END INTERFACE +``` diff --git a/docs/docs-api/Mesh/GetRefElemPointer.md b/docs/docs-api/Mesh/GetRefElemPointer.md index 42c05dd9..0a51c7d3 100644 --- a/docs/docs-api/Mesh/GetRefElemPointer.md +++ b/docs/docs-api/Mesh/GetRefElemPointer.md @@ -1,5 +1,7 @@ # GetRefElemPointer +This function returns a pointer to the reference element object associated with the mesh object. + ## Interface ```fortran diff --git a/docs/docs-api/Mesh/GetSlaveCellNumber.md b/docs/docs-api/Mesh/GetSlaveCellNumber.md index 8796abc6..77016fe9 100644 --- a/docs/docs-api/Mesh/GetSlaveCellNumber.md +++ b/docs/docs-api/Mesh/GetSlaveCellNumber.md @@ -1,14 +1,11 @@ -# GetSlaveCellNumber +--- +title: GetSlaveCellNumber +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION getSlaveCellNumber( obj, facetElement, & - & elementType, facetBoundary ) RESULT( ans ) - CLASS( Mesh_ ), INTENT( IN ) :: obj - INTEGER( I4B ), INTENT( IN ) :: facetElement - INTEGER( I4B ), INTENT( IN ) :: elementType - INTEGER( I4B ), OPTIONAL, INTENT( IN ) :: facetBoundary - INTEGER( I4B ) :: ans - END FUNCTION getSlaveCellNumber -``` +import EXAMPLE5 from "../AbstractMesh/GetSlaveCellNumber.md"; + + diff --git a/docs/docs-api/Mesh/GetTotalBoundaryElements.md b/docs/docs-api/Mesh/GetTotalBoundaryElements.md index c695323f..f33f1606 100644 --- a/docs/docs-api/Mesh/GetTotalBoundaryElements.md +++ b/docs/docs-api/Mesh/GetTotalBoundaryElements.md @@ -1,10 +1,12 @@ -# GetTotalBoundaryElements +--- +title: GetTotalBoundaryElements +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: + +import EXAMPLE5 from "../AbstractMesh/GetTotalBoundaryElements.md"; + + -```fortran - MODULE PURE FUNCTION getTotalBoundaryElements(obj) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B) :: ans - END FUNCTION getTotalBoundaryElements -``` diff --git a/docs/docs-api/Mesh/GetTotalBoundaryFacetElements.md b/docs/docs-api/Mesh/GetTotalBoundaryFacetElements.md index 1b2d9d9e..4202decf 100644 --- a/docs/docs-api/Mesh/GetTotalBoundaryFacetElements.md +++ b/docs/docs-api/Mesh/GetTotalBoundaryFacetElements.md @@ -1,10 +1,11 @@ -# GetTotalBoundaryFacetElements +--- +title: GetTotalBoundaryFacetElements +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION getTotalBoundaryFacetElements( obj ) RESULT(ans) - CLASS(Mesh_), INTENT( IN ) :: obj - INTEGER( I4B ) :: ans - END FUNCTION getTotalBoundaryFacetElements -``` +import EXAMPLE5 from "../AbstractMesh/GetTotalBoundaryFacetElements.md"; + + diff --git a/docs/docs-api/Mesh/GetTotalBoundaryNodes.md b/docs/docs-api/Mesh/GetTotalBoundaryNodes.md index ff1eab32..e46ce8e5 100644 --- a/docs/docs-api/Mesh/GetTotalBoundaryNodes.md +++ b/docs/docs-api/Mesh/GetTotalBoundaryNodes.md @@ -1,10 +1,11 @@ -# GetTotalBoundaryNodes +--- +title: GetTotalBoundaryNodes +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION getTotalBoundaryNodes(obj) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B) :: ans - END FUNCTION getTotalBoundaryNodes -``` +import EXAMPLE5 from "../AbstractMesh/GetTotalBoundaryNodes.md"; + + diff --git a/docs/docs-api/Mesh/GetTotalFacetElements.md b/docs/docs-api/Mesh/GetTotalFacetElements.md index e1375d5e..14558284 100644 --- a/docs/docs-api/Mesh/GetTotalFacetElements.md +++ b/docs/docs-api/Mesh/GetTotalFacetElements.md @@ -1,5 +1,7 @@ # GetTotalFacetElements +This function returns the total number of facet elements in the mesh. + ## Interface ```fortran diff --git a/docs/docs-api/Mesh/GetTotalInternalFacetElements.md b/docs/docs-api/Mesh/GetTotalInternalFacetElements.md index c05e987a..03c28410 100644 --- a/docs/docs-api/Mesh/GetTotalInternalFacetElements.md +++ b/docs/docs-api/Mesh/GetTotalInternalFacetElements.md @@ -1,10 +1,12 @@ -# GetTotalInternalFacetElements +--- +title: GetTotalInternalFacetElements +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: + +import EXAMPLE5 from "../AbstractMesh/GetTotalInternalFacetElements.md"; + + -```fortran - MODULE PURE FUNCTION getTotalInternalFacetElements( obj ) RESULT(ans) - CLASS(Mesh_), INTENT( IN ) :: obj - INTEGER( I4B ) :: ans - END FUNCTION getTotalInternalFacetElements -``` diff --git a/docs/docs-api/Mesh/GetTotalInternalNodes.md b/docs/docs-api/Mesh/GetTotalInternalNodes.md new file mode 100644 index 00000000..aac6ba47 --- /dev/null +++ b/docs/docs-api/Mesh/GetTotalInternalNodes.md @@ -0,0 +1,12 @@ +--- +title: GetTotalInternalNodes +--- + +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: + + +import EXAMPLE5 from "../AbstractMesh/GetTotalInternalNodes.md"; + + diff --git a/docs/docs-api/Mesh/GetTotalNodes.md b/docs/docs-api/Mesh/GetTotalNodes.md index 214d6776..c204d085 100644 --- a/docs/docs-api/Mesh/GetTotalNodes.md +++ b/docs/docs-api/Mesh/GetTotalNodes.md @@ -1,10 +1,11 @@ -# GetTotalNodes +--- +title: GetTotalNodes +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION getTotalNodes(obj) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B) :: ans - END FUNCTION getTotalNodes -``` +import EXAMPLE5 from "../AbstractMesh/GetTotalNodes.md"; + + diff --git a/docs/docs-api/Mesh/Import.md b/docs/docs-api/Mesh/Import.md new file mode 100644 index 00000000..0c62d1ef --- /dev/null +++ b/docs/docs-api/Mesh/Import.md @@ -0,0 +1,15 @@ +# Import + +This routine reads the mesh from the meshfile which is an HDF5 file. + +```fortran +INTERFACE + MODULE SUBROUTINE obj_Import(obj, hdf5, group, dim, entities) + CLASS(Mesh_), INTENT(INOUT) :: obj + TYPE(HDF5File_), INTENT(INOUT) :: hdf5 + CHARACTER(*), OPTIONAL, INTENT(IN) :: group + INTEGER(I4B), OPTIONAL, INTENT(IN) :: dim + INTEGER(I4B), OPTIONAL, INTENT(IN) :: entities(:) + END SUBROUTINE obj_Import +END INTERFACE +``` diff --git a/docs/docs-api/Mesh/Initiate.md b/docs/docs-api/Mesh/Initiate.md index 95ddb14d..ad9f51fd 100644 --- a/docs/docs-api/Mesh/Initiate.md +++ b/docs/docs-api/Mesh/Initiate.md @@ -1,76 +1,14 @@ --- -sidebar_position: 7 +sidebar_position: 3 +title: Initiate --- -# Initiate -Initiate an instance of Mesh. +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -# Structure +import EXAMPLE9 from "../AbstractMesh/Initiate.md"; -```fortran -INTERFACE - MODULE SUBROUTINE obj_Initiate(obj, hdf5, group) - CLASS(Mesh_), INTENT(INOUT) :: obj - !! mesh object - TYPE(HDF5File_), INTENT(INOUT) :: hdf5 - !! Mesh file in hdf5 file format - CHARACTER(*), INTENT(IN) :: group - !! location in HDF5 file - END SUBROUTINE obj_Initiate -END INTERFACE -``` + -## Examples - -### Converting mesh from Gmsh to easifem format - -
-Click here to see example -
- -import EXAMPLE22 from "./examples/_Initiate_test_1.md"; - - - -
-
- -### Reading surface mesh in 2D - -
-Examples -
- -import EXAMPLE43 from "./examples/_Initiate_test_2.md"; - - - -
-
- -### Reading curve mesh in 2D - -
-Examples -
- -import EXAMPLE59 from "./examples/_Initiate_test_4.md"; - - - -
-
- -### Reading more than one mesh - -
-Examples -
- -import EXAMPLE71 from "./examples/_Initiate_test_6.md"; - - - -
-
diff --git a/docs/docs-api/Mesh/InitiateBoundaryData.md b/docs/docs-api/Mesh/InitiateBoundaryData.md index 6eda0b31..0e8fd1d0 100644 --- a/docs/docs-api/Mesh/InitiateBoundaryData.md +++ b/docs/docs-api/Mesh/InitiateBoundaryData.md @@ -1,30 +1,11 @@ -# InitiateBoundaryData +--- +title: InitiateBoundaryData +--- -This method construct the boundary-element data. - -- It marks elements of mesh as `DOMAIN_BOUNDARY_ELEMENT` and `INTERNAL_ELEMENT`. -- In this case boundary elements are those which contains the boundary node. -- Boundary-node information is available by reading the mesh file, see mesh import method. -- It also forms `obj%elementData(ii)%boundaryData`. - -:::note -This subroutine treats all boundary element as `DOMAIN_BOUNDARY_ELEMENT` because it does not have information of surrouding mesh. However, this is not correct. This is because, not all mesh boundary elements are domain boundary elements. For example, some mesh-boundary element may be interface element between two mesh regions. This information can be corrected by calling [SetFacetElementType](../Domain/SetFacetElementType.md) method from [Domain_](../Domain/Domain_.md). +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. ::: -:::info -If we call [InitiateBoundaryData](../Domain/InitiateBoundaryData.md), then we do not have to call [SetFacetElementType](../Domain/SetFacetElementType.md) because the former routine makes an internal call to the latter. -::: - -This method needs following information: - -- `ElementToElements` -- `refelem` to construct the FacetElements +import EXAMPLE5 from "../AbstractMesh/InitiateBoundaryData.md"; -```fortran -INTERFACE - MODULE SUBROUTINE InitiateBoundaryData(obj) - CLASS(Mesh_), INTENT(INOUT) :: obj - !! mesh data - END SUBROUTINE InitiateBoundaryData -END INTERFACE -``` + diff --git a/docs/docs-api/Mesh/InitiateElemSD.md b/docs/docs-api/Mesh/InitiateElemSD.md index 49118b54..17745254 100644 --- a/docs/docs-api/Mesh/InitiateElemSD.md +++ b/docs/docs-api/Mesh/InitiateElemSD.md @@ -1,111 +1,11 @@ -# InitiateElemSD +--- +title: InitiateElemSD +--- -```fortran - MODULE SUBROUTINE InitiateElemSD(obj, & - & orderSpace, & - & linSpaceElem, & - & spaceElem, & - & quadTypeForSpace, & - & continuityTypeForSpace, & - & interpolTypeForSpace ) - CLASS(Mesh_), INTENT(INOUT) :: obj - INTEGER(I4B), INTENT(IN) :: orderSpace - !! integrand order in space - CLASS(ReferenceElement_), TARGET, INTENT(IN) :: linSpaceElem - !! linear (simplex) space element - CLASS(ReferenceElement_), TARGET, INTENT(IN) :: spaceElem - !! space element - CHARACTER(LEN=*), INTENT(IN) :: quadTypeForSpace - !! quadrature for space - CHARACTER(LEN=*), INTENT(IN) :: continuityTypeForSpace - !! continuity for base in space - CHARACTER(LEN=*), INTENT(IN) :: interpolTypeForSpace - !! interpolation type for base in space - END SUBROUTINE InitiateElemSD -``` +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE SUBROUTINE mesh_initiateElemSD2(obj, & - & orderSpace, & - & linSpaceElem, & - & spaceElem, & - & quadTypeForSpace, & - & continuityTypeForSpace, & - & interpolTypeForSpace, & - & orderTime, & - & linTimeElem, & - & timeElem, & - & quadTypeForTime, & - & continuityTypeForTime, & - & interpolTypeForTime, & - & tvec) - CLASS(Mesh_), INTENT(INOUT) :: obj - INTEGER(I4B), INTENT(IN) :: orderSpace - !! integrand order in space - CLASS(ReferenceElement_), TARGET, INTENT(IN) :: linSpaceElem - !! linear space element - CLASS(ReferenceElement_), TARGET, INTENT(IN) :: spaceElem - !! space element - CHARACTER(LEN=*), INTENT(IN) :: quadTypeForSpace - !! quadrature type for space - CHARACTER(LEN=*), INTENT(IN) :: continuityTypeForSpace - !! continuity type of base in space - CHARACTER(LEN=*), INTENT(IN) :: interpolTypeForSpace - !! interpol type of base in space - INTEGER(I4B), INTENT(IN) :: orderTime - !! integrand order in time - TYPE(ReferenceLine_), INTENT(IN) :: linTimeElem - !! linear time element - TYPE(ReferenceLine_), INTENT(IN) :: timeElem - !! time element - CHARACTER(LEN=*), INTENT(IN) :: quadTypeForTime - !! quadrature type of base in time - CHARACTER(LEN=*), INTENT(IN) :: continuityTypeForTime - !! continuity type of base in time - CHARACTER(LEN=*), INTENT(IN) :: interpolTypeForTime - !! interpol type of base in time - REAL(DFP), INTENT(IN) :: tvec(:) - END SUBROUTINE mesh_initiateElemSD2 -``` +import EXAMPLE5 from "../AbstractMesh/InitiateElemSD.md"; -```fortran - MODULE SUBROUTINE mesh_initiateElemSD3(obj, & - & orderSpace, & - & linSpaceElem, & - & spaceElem, & - & quadTypeForSpace, & - & continuityTypeForSpace, & - & interpolTypeForSpace, & - & orderTime, & - & linTimeElem, & - & timeElem, & - & quadTypeForTime, & - & continuityTypeForTime, & - & interpolTypeForTime ) - CLASS(Mesh_), INTENT(INOUT) :: obj - INTEGER(I4B), INTENT(IN) :: orderSpace - !! integrand order in space - CLASS(ReferenceElement_), TARGET, INTENT(IN) :: linSpaceElem - !! linear space element - CLASS(ReferenceElement_), TARGET, INTENT(IN) :: spaceElem - !! space element - CHARACTER(LEN=*), INTENT(IN) :: quadTypeForSpace - !! quadrature type of base in space - CHARACTER(LEN=*), INTENT(IN) :: continuityTypeForSpace - !! continuity type of base in space - CHARACTER(LEN=*), INTENT(IN) :: interpolTypeForSpace - !! interpolation type of base in space - INTEGER(I4B), INTENT(IN) :: orderTime - !! integrand order in time - TYPE(ReferenceLine_), INTENT(IN) :: linTimeElem - !! linear time element - TYPE(ReferenceLine_), INTENT(IN) :: timeElem - !! time element - CHARACTER(LEN=*), INTENT(IN) :: quadTypeForTime - !! quadrature type of base in time - CHARACTER(LEN=*), INTENT(IN) :: continuityTypeForTime - !! continuity type of base in time - CHARACTER(LEN=*), INTENT(IN) :: interpolTypeForTime - !! interpolation type of base in time - END SUBROUTINE mesh_initiateElemSD3 -``` + diff --git a/docs/docs-api/Mesh/InitiateElementToElements.md b/docs/docs-api/Mesh/InitiateElementToElements.md index 03640493..b524ff7c 100644 --- a/docs/docs-api/Mesh/InitiateElementToElements.md +++ b/docs/docs-api/Mesh/InitiateElementToElements.md @@ -1,22 +1,12 @@ -# InitiateElementToElements +--- +title: InitiateElementToElements +--- -This routine creates the element surrounding a given element data +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -- Before calling this routine, make sure the `refelem` in mesh is allocated. -- By using `refelem`, this routine forms the FacetElements. -- This routine needs `nodeToElements` information, therefore, if `nodeToElements` is not initiated then it calls `initiateNodeToelements` method. +import EXAMPLE5 from "../AbstractMesh/InitiateElementToElements.md"; -- This method forms following data: -- `obj%elementData(ielem)%globalElements` -- It also identifies those elements which are boundary element of mesh, and set `obj%elementData(ielem)%elementType=BOUNDARY_ELEMENT` for those elements. -- Note that at this point these boundary-elements can be interface element - between two meshs, or domain-boundary element. + -```fortran -INTERFACE - MODULE SUBROUTINE InitiateElementToElements(obj) - CLASS(Mesh_), INTENT(INOUT) :: obj - !! mesh data - END SUBROUTINE InitiateElementToElements -END INTERFACE -``` diff --git a/docs/docs-api/Mesh/InitiateExtraNodeToNodes.md b/docs/docs-api/Mesh/InitiateExtraNodeToNodes.md index 189df003..2e79cfd2 100644 --- a/docs/docs-api/Mesh/InitiateExtraNodeToNodes.md +++ b/docs/docs-api/Mesh/InitiateExtraNodeToNodes.md @@ -1,20 +1,11 @@ -# InitiateExtraNodetoNodes +--- +title: InitiateExtraNodetoNodes +--- -This routine generate the node to nodes mapping +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -- This mapping is stored inside `obj%nodeData%extraGlobalNodeNum` -- For a local node number i, `obj%nodeData(i)%ExtraGlobalNodeNum` denotes the global node data surrounding the local node number used for edge-based stabilization. This list does not include self node. +import EXAMPLE5 from "../AbstractMesh/InitiateExtraNodeToNodes.md"; -- It needs information about `nodeToNodes`, `nodeToElements`, and `elementToElements`. Therefore, -- If `nodeToNodes` is not initiated, then this method initiates it. -- If `nodeToElements` is not initiated, then this method initiates it. -- If `elementToElements` is not initiated, then this method initiates it. - -```fortran -INTERFACE - MODULE SUBROUTINE InitiateExtraNodetoNodes(obj) - CLASS(Mesh_), INTENT(INOUT) :: obj - !! mesh data - END SUBROUTINE InitiateExtraNodetoNodes -END INTERFACE -``` + diff --git a/docs/docs-api/Mesh/InitiateFacetElements.md b/docs/docs-api/Mesh/InitiateFacetElements.md index e42628b2..fd1c82ec 100644 --- a/docs/docs-api/Mesh/InitiateFacetElements.md +++ b/docs/docs-api/Mesh/InitiateFacetElements.md @@ -2,43 +2,11 @@ title: InitiateFacetElements --- -This routine initiates the facet element data, such as [`BoundaryFacetData`](./BoundaryFacetData_.md) and [`InternalFacetData_`](./InternalFacetData_.md). -This routine needs the following information: - -- `ElementToElements`, if this information is not available, then it calls [InitiateElementToElements](./InitiateElementToElements.md). -- `BoundaryData`, if this information is not available, then it calls [InitiateBoundaryData](./InitiateBoundaryData.md). - -It makes following data structures: - -- [InternalFacetData_](InternalFacetData_.md) -- [BoundaryFacetData_](BoundaryFacetData_.md) -- `FacetElementType` field in [Mesh_](Mesh_.md) - -:::info - -- This method cannot differentiate between a `BOUNDARY_ELEMENT`, which is a boundary-facet-element at the mesh-boundary, and `DOMAIN_BOUNDARY_ELEMENT`, which is facet element at the domain’s boundary. -- This is because, at this point we only know that a boundary-facet-element is a domain-boundary-element, as we have no information about the neighboring mesh. -- Therefore, all `boundaryFacet` elements, at this level, are of type `DOMAIN_BOUNDARY_ELEMENT`. This is because every `DOMAIN_BOUNDARY_ELEMENT` is a `BOUNDARY_ELEMENT`. -- This information can be corrected only when we call [`SetDomainFacetElement`](../Domain/SetDomainFacetElement.md) from [Domain_](../Domain/Domain_.md) class. +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. ::: -:::note -If we call [`SetDomainFacetElement`](../Domain/SetDomainFacetElement.md) then we do not have to worry about the above point. -::: - -Please check documentation of following methods: - -- [`SetDomainFacetElement`](../Domain/SetDomainFacetElement.md) -- [`SetMeshFacetElement`](../Domain/SetMeshFacetElement.md) -- [`SetFacetElementType`](../Domain/SetFacetElementType.md) - -## Interface +import EXAMPLE5 from "../AbstractMesh/InitiateFacetElements.md"; -```fortran -INTERFACE - MODULE SUBROUTINE InitiateFacetElements(obj) - CLASS(Mesh_), INTENT(INOUT) :: obj - END SUBROUTINE InitiateFacetElements -END INTERFACE -``` + diff --git a/docs/docs-api/Mesh/InitiateNodeToElements.md b/docs/docs-api/Mesh/InitiateNodeToElements.md index 1b7474a1..1682ac8a 100644 --- a/docs/docs-api/Mesh/InitiateNodeToElements.md +++ b/docs/docs-api/Mesh/InitiateNodeToElements.md @@ -1,24 +1,11 @@ -# InitiateNodeToElements +--- +title: InitiateNodeToElements +--- -- This subroutine generates elements surrounding a node mapping, in other words it generates node to element. -- Element numbers returned by this routine are global element number. -- This mapping is stored inside `obj%nodeData` array -- For a local node number `ii`, `obj%nodeData(ii)%globalElements(:)` contains the global element numbers. - -:::note -Always use method called `getNodeToElements()` to access this information. -This method requires global Node number +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. ::: -:::caution -Always use the mapping between global node number and local node number to -avoid segmentation fault -::: +import EXAMPLE5 from "../AbstractMesh/InitiateNodeToElements.md"; -```fortran -INTERFACE - MODULE SUBROUTINE InitiateNodeToElements(obj) - CLASS(Mesh_), INTENT(INOUT) :: obj - END SUBROUTINE InitiateNodeToElements -END INTERFACE -``` + diff --git a/docs/docs-api/Mesh/InitiateNodeToNodes.md b/docs/docs-api/Mesh/InitiateNodeToNodes.md index e01a32db..8aa215ee 100644 --- a/docs/docs-api/Mesh/InitiateNodeToNodes.md +++ b/docs/docs-api/Mesh/InitiateNodeToNodes.md @@ -1,18 +1,11 @@ -# InitiateNodeToNodes +--- +title: InitiateNodeToNodes +--- -This routine generate the node to nodes mapping +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -- In other words, it generates info of node-numbers in mesh surrounding a node number -- This mapping is stored inside `obj%nodeData%globalNodeNum` -- For a local node number i, obj%nodeData(i)%globalNodeNum denotes the global node data surrounding the local node number. -- This list does not include self node. -- The method needs node-to-elements data, therefore if this data is not initiated, then this method calls `InitiateNodeToElements()`. +import EXAMPLE5 from "../AbstractMesh/InitiateNodeToNodes.md"; -```fortran -INTERFACE - MODULE SUBROUTINE InitiateNodetoNodes(obj) - CLASS(Mesh_), INTENT(INOUT) :: obj - !! mesh data - END SUBROUTINE InitiateNodetoNodes -END INTERFACE -``` + diff --git a/docs/docs-api/Mesh/IsAllNodePresent.md b/docs/docs-api/Mesh/IsAllNodePresent.md index a8311b33..afb38d3c 100644 --- a/docs/docs-api/Mesh/IsAllNodePresent.md +++ b/docs/docs-api/Mesh/IsAllNodePresent.md @@ -1,11 +1,11 @@ -# IsAllNodePresent +--- +title: IsAllNodePresent +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION isAllNodePresent(obj, globalNode) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: globalNode( : ) - LOGICAL(LGT) :: ans - END FUNCTION isAllNodePresent -``` +import EXAMPLE5 from "../AbstractMesh/IsAllNodePresent.md"; + + diff --git a/docs/docs-api/Mesh/IsAnyNodePresent.md b/docs/docs-api/Mesh/IsAnyNodePresent.md index 13e4f999..6aa26c2a 100644 --- a/docs/docs-api/Mesh/IsAnyNodePresent.md +++ b/docs/docs-api/Mesh/IsAnyNodePresent.md @@ -1,11 +1,11 @@ -# IsAnyNodePresent +--- +title: IsAnyNodePresent +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION isAnyNodePresent(obj, globalNode) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: globalNode( : ) - LOGICAL(LGT) :: ans - END FUNCTION isAnyNodePresent -``` +import EXAMPLE5 from "../AbstractMesh/IsAnyNodePresent.md"; + + diff --git a/docs/docs-api/Mesh/IsBoundaryElement.md b/docs/docs-api/Mesh/IsBoundaryElement.md index eaa1ca27..8372944d 100644 --- a/docs/docs-api/Mesh/IsBoundaryElement.md +++ b/docs/docs-api/Mesh/IsBoundaryElement.md @@ -1,12 +1,11 @@ -# IsBoundaryElement +--- +title: IsBoundaryElement +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION isBoundaryElement(obj, globalElement) & - & RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: globalElement - LOGICAL(LGT) :: ans - END FUNCTION isBoundaryElement -``` +import EXAMPLE5 from "../AbstractMesh/IsBoundaryElement.md"; + + diff --git a/docs/docs-api/Mesh/IsBoundaryNode.md b/docs/docs-api/Mesh/IsBoundaryNode.md index 3649415a..bbde7767 100644 --- a/docs/docs-api/Mesh/IsBoundaryNode.md +++ b/docs/docs-api/Mesh/IsBoundaryNode.md @@ -1,11 +1,12 @@ -# IsBoundaryNode +--- +title: IsBoundaryNode +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: + +import EXAMPLE5 from "../AbstractMesh/IsBoundaryNode.md"; + + -```fortran - MODULE PURE FUNCTION isBoundaryNode(obj, globalNode) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: globalNode - LOGICAL(LGT) :: ans - END FUNCTION isBoundaryNode -``` diff --git a/docs/docs-api/Mesh/IsDomainBoundaryElement.md b/docs/docs-api/Mesh/IsDomainBoundaryElement.md index b283dfc0..977fcf97 100644 --- a/docs/docs-api/Mesh/IsDomainBoundaryElement.md +++ b/docs/docs-api/Mesh/IsDomainBoundaryElement.md @@ -1,12 +1,11 @@ -# IsDomainBoundaryElement +--- +title: IsDomainBoundaryElement +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION isDomainBoundaryElement(obj, globalElement) & - & RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: globalElement - LOGICAL(LGT) :: ans - END FUNCTION isDomainBoundaryElement -``` +import EXAMPLE5 from "../AbstractMesh/IsDomainBoundaryElement.md"; + + diff --git a/docs/docs-api/Mesh/IsElementPresent.md b/docs/docs-api/Mesh/IsElementPresent.md index d742df22..1e2ee794 100644 --- a/docs/docs-api/Mesh/IsElementPresent.md +++ b/docs/docs-api/Mesh/IsElementPresent.md @@ -1,11 +1,11 @@ -# IsElementPresent +--- +title: IsElementPresent +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION isElementPresent(obj, GlobalElement) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: GlobalElement - LOGICAL(LGT) :: ans - END FUNCTION isElementPresent -``` +import EXAMPLE5 from "../AbstractMesh/IsElementPresent.md"; + + diff --git a/docs/docs-api/Mesh/IsFacetElement.md b/docs/docs-api/Mesh/IsFacetElement.md new file mode 100644 index 00000000..56d7ef70 --- /dev/null +++ b/docs/docs-api/Mesh/IsFacetElement.md @@ -0,0 +1,12 @@ +# IsFacetElement + +This functions returns true if the facetElements are allocated in the Mesh object. + +```fortran +INTERFACE + MODULE FUNCTION obj_isFacetElement(obj) RESULT(ans) + CLASS(Mesh_), INTENT(IN) :: obj + LOGICAL(LGT) :: ans + END FUNCTION obj_isFacetElement +END INTERFACE +``` diff --git a/docs/docs-api/Mesh/IsNodePresent.md b/docs/docs-api/Mesh/IsNodePresent.md index 82b515ce..0c3927d8 100644 --- a/docs/docs-api/Mesh/IsNodePresent.md +++ b/docs/docs-api/Mesh/IsNodePresent.md @@ -1,11 +1,11 @@ -# IsNodePresent +--- +title: IsNodePresent +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION isNodePresent(obj, globalNode) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B), INTENT(IN) :: globalNode - LOGICAL(LGT) :: ans - END FUNCTION isNodePresent -``` +import EXAMPLE5 from "../AbstractMesh/IsNodePresent.md"; + + diff --git a/docs/docs-api/Mesh/IsTotalInternalNodes.md b/docs/docs-api/Mesh/IsTotalInternalNodes.md deleted file mode 100644 index e49a09bf..00000000 --- a/docs/docs-api/Mesh/IsTotalInternalNodes.md +++ /dev/null @@ -1,10 +0,0 @@ -# GetTotalInternalNodes - -## Interface - -```fortran - MODULE PURE FUNCTION getTotalInternalNodes(obj) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - INTEGER(I4B) :: ans - END FUNCTION getTotalInternalNodes -``` diff --git a/docs/docs-api/Mesh/Mesh_.md b/docs/docs-api/Mesh/Mesh_.md index dc328bdd..2669cad1 100644 --- a/docs/docs-api/Mesh/Mesh_.md +++ b/docs/docs-api/Mesh/Mesh_.md @@ -3,271 +3,27 @@ title: Structure sidebar_position: 2 --- -Mesh datatype is simply a collection of mesh elements. +Mesh datatype is simply a collection of mesh elements. It is a child of [AbstractMesh_](../AbstractMesh/AbstractMesh_.md). -In EASIFEM mesh is a homogeneous collection of reference elements. All elements in mesh should be of same type (i.e., triangle, quadrangle, tetrahedron, etc.). Two mesh can have different types of elements. For example, we can define a mesh of triangle element or a mesh of tetrahedron element. +:::warning Deprecated +The support for Mesh has stopped. In future version, the Mesh and FEMesh will be merged. So please use FEMesh instead. +::: + +:::info Mesh vs FEMesh +Mesh is a collection of homogeneous elements. All elements in a mesh should be of same type (i.e., triangle, quadrangle, tetrahedron, etc.). For example, we can define a mesh of triangle element or a mesh of tetrahedron element. In contrast, FEMesh is a collection of elements of same dimension. In FEMesh, all elements are either 1D, 2D or 3D. Therefore, FEMesh can contain some elements as triangle and some elements as quadrilateral. +::: ```fortran -TYPE :: Mesh_ +TYPE, EXTENDS(AbstractMesh_) :: Mesh_ PRIVATE - LOGICAL(LGT) :: readFromFile = .TRUE. - !! True if the mesh is read from a file - LOGICAL(LGT) :: isInitiated = .FALSE. - !! logical flag denoting for whether mesh data is Initiated or not - LOGICAL(LGT) :: isNodeToElementsInitiated = .FALSE. - !! Node to elements mapping - LOGICAL(LGT) :: isNodeToNodesInitiated = .FALSE. - !! Node to nodes mapping - LOGICAL(LGT) :: isExtraNodeToNodesInitiated = .FALSE. - !! Node to nodes mapping - LOGICAL(LGT) :: isElementToElementsInitiated = .FALSE. - !! Element to elements mapping - LOGICAL(LGT) :: isBoundaryDataInitiated = .FALSE. - !! Boundary data - LOGICAL(LGT), PUBLIC :: isFacetDataInitiated = .FALSE. - !! FacetData - !! TODO: Make isFacetDataInitiated PRIVATE - INTEGER(I4B) :: uid = 0 - !! Unique id of the mesh - INTEGER(I4B) :: xidim = 0 - !! xidimension of elements present inside the mesh INTEGER(I4B) :: elemType = 0 !! type of element present inside the mesh - INTEGER(I4B) :: nsd = 0 - !! number of spatial dimension of the mesh - INTEGER(I4B), PUBLIC :: maxNptrs = 0 - !! largest node number present inside the mesh - INTEGER(I4B), PUBLIC :: minNptrs = 0 - !! minimum node number present inside the mesh - INTEGER(I4B), PUBLIC :: maxElemNum = 0 - !! largest element number present inside the mesh - INTEGER(I4B), PUBLIC :: minElemNum = 0 - !! minimum element number present inside the mesh - INTEGER(I4B) :: tNodes = 0 - !! total number of nodes present inside the mesh - INTEGER(I4B) :: tIntNodes = 0 - !! total number of internal nodes inside the mesh - INTEGER(I4B) :: tElements = 0 - !! total number of elements present inside the mesh - !! It is the size of elemNumber vector - REAL(DFP) :: minX = 0.0 - !! minimum value of x coordinate - REAL(DFP) :: maxX = 0.0 - !! maximum value of x coordinate - REAL(DFP) :: minY = 0.0 - !! minimum value of y coordinate - REAL(DFP) :: maxY = 0.0 - !! maximum value of y coordinate - REAL(DFP) :: minZ = 0.0 - !! minimum value of z coordinate - REAL(DFP) :: maxZ = 0.0 - !! maximum value of z coordinate - REAL(DFP) :: X = 0.0 - !! x coorindate of centroid - REAL(DFP) :: Y = 0.0 - !! y coordinate of centroid - REAL(DFP) :: Z = 0.0 - !! z coordinate of centroid - INTEGER(I4B), ALLOCATABLE :: physicalTag(:) - !! Physical entities associated with the current entity (mesh) - INTEGER(I4B), ALLOCATABLE :: boundingEntity(:) - !! Bounding entity numbers of the current entity - INTEGER(I4B), ALLOCATABLE :: local_elemNumber(:) - !! List of local element numbers, the lowerbound is `minElemNum` - !! and upper bound is `maxElemNum`. In this way, local_elemNumber(iel) - !! returns the local element number of global element number iel. - INTEGER(I4B), ALLOCATABLE :: local_Nptrs(:) - !! Returns local node number from a global node number - !! Its length is from 1 to maxNptrs - !! Helpul in finding if a global node is present inside the mesh or not - INTEGER(I4B), ALLOCATABLE :: material(:) - !! materials mapped to the mesh - !! material(1) is the material id of medium 1 - !! material(2) is the material id of medium 2 - !! ... - !! material(n) is the material id of medium n - !! - !! For example, soil is a porous medium n = 1, - !! fluid is a medium n =2 - !! then material(1) denotes the type of soil => clay, sand, silt - !! and material(2) denotes the type of fluid, water, oil, air - TYPE(ReferenceElement_), PUBLIC, ALLOCATABLE :: facetElements(:) + + TYPE(ReferenceElement_), ALLOCATABLE :: facetElements(:) !! Facet Elements in the reference element - INTEGER(I4B), ALLOCATABLE :: facetElementType(:, :) - !! Number of rows of this array is same as the total number of - !! facets present in the mesh-reference elements - !! Number of columns of this array is equal to the total number of - !! elements inside the mesh - !! facetElementType(ii, iel) can be - !! INTERNAL_ELEMENT, BOUNDARY_ELEMENT, DOMAIN_BOUNDARY_ELEMENT - !! If the face is a part of the mesh boundary then it will be called - !! the BOUNDARY_ELEMENT - TYPE(NodeData_), ALLOCATABLE :: nodeData(:) - !! Node data - TYPE(ElemData_), ALLOCATABLE :: elementData(:) - !! element data - TYPE(InternalFacetData_), PUBLIC, ALLOCATABLE :: internalFacetData(:) - !! Internal facet data - TYPE(BoundaryFacetData_), PUBLIC, ALLOCATABLE :: boundaryFacetData(:) - !! Domain Facet Data - CLASS(ReferenceElement_), PUBLIC, POINTER :: refelem => NULL() + + CLASS(ReferenceElement_), POINTER :: refelem => NULL() !! Reference element of the mesh (spatial) !! TODO: Change refelem to Type(ReferenceElement_) - REAL(DFP), ALLOCATABLE :: quality(:, :) - !! number of rows are meshquality - !! number of columns are elements - INTEGER(I4B), PUBLIC :: ipType = Equidistance - !! interpolation point type - - ! Following variables are required during processing. - ! time - TYPE(QuadraturePoint_), PUBLIC :: quadForTime - !! quadrature point for time domain #STFEM - TYPE(ElemshapeData_), PUBLIC :: linTimeElemSD - !! Element shape data on linear time element #STFEM - TYPE(ElemshapeData_), PUBLIC :: timeElemSD - !! Element shape data on time element #STFEM - TYPE(String) :: quadTypeForTime - !! quadrature type for time - TYPE(String) :: continuityTypeForTime - !! continuity of base function for time - TYPE(String) :: interpolTypeForTime - !! interpolation of base function for time - INTEGER(I4B) :: orderTime - !! order for time - - ! space (cell) - TYPE(QuadraturePoint_), PUBLIC :: quadForSpace - !! quadrature point for space - TYPE(ElemshapeData_), PUBLIC :: linSpaceElemSD - !! Element shape data on linear space (simplex) element - TYPE(ElemshapeData_), PUBLIC :: spaceElemSD - !! Element shape data on space element - TYPE(STElemshapeData_), ALLOCATABLE, PUBLIC :: stelemsd(:) - !! Element shape data on space element - TYPE(String) :: quadTypeForSpace - !! quadrature type for space - TYPE(String) :: continuityTypeForSpace - !! continuity of base function for space - TYPE(String) :: interpolTypeForSpace - !! interoplation type of base function for space - INTEGER(I4B) :: orderSpace - !! order for space - - ! space (facets) - TYPE(QuadraturePoint_), ALLOCATABLE, PUBLIC :: quadForFacet(:) - !! quadrature point for facet elements - TYPE(QuadraturePoint_), ALLOCATABLE, PUBLIC :: quadForFacetCell(:) - !! quadrature point for facet-cell elements - TYPE(ElemshapeData_), ALLOCATABLE, PUBLIC :: linFacetElemSD(:) - !! Element shape data on linear facet (simplex) element - TYPE(ElemshapeData_), ALLOCATABLE, PUBLIC :: linFacetCellElemSD(:) - !! Element shape data on linear facet (simplex) cell element - TYPE(ElemshapeData_), ALLOCATABLE, PUBLIC :: facetElemSD(:) - !! Element shape data on facet element - TYPE(ElemshapeData_), ALLOCATABLE, PUBLIC :: facetCellElemSD(:) - !! Element shape data on facet cell element - TYPE(String) :: quadTypeForFacet - !! quadrature type for facet element - TYPE(String) :: continuityTypeForFacet - !! continuity of base function for facet element - TYPE(String) :: interpolTypeForFacet - !! interoplation type of base function for facet element - INTEGER(I4B) :: orderFacet - !! order for facet element - TYPE(STElemshapeData_), ALLOCATABLE, PUBLIC :: facetSTelemsd(:, :) - !! Element shape data on facet element END TYPE Mesh_ ``` - -- `readFromFile` is true if the mesh is read from a file. -- `isInitiated` is logical flag denoting whether mesh data is initiated or not. -- `isNodeToElementsInitiated` is true if node to elements mapping is initiated. -- `isNodeToNodesInitiated` is true of node to nodes mapping is initiated. -- `isElementToElementsInitiated` is true if element to elements mapping available. -- `isBoundaryDataInitiated` is true if boundary data is available. -- `uid` denotes the unique-id of the mesh. -- `xidim` denotes the `xidimension` of elements present inside the mesh, `xidim` = (0,1,2,3) for (point, line, surface, volume) elements. -- `elemType` denotes the type of element present inside the mesh. -- `nsd` denotes the number of spatial dimension of the mesh. -- `maxNptrs` stands for the largest node number present inside the mesh. -- `minNptrs` stands for the smallest node number present inside the mesh. -- `maxElemNum` denotes the largest element number present inside the mesh. -- `minElemNum` denotes the smallest element number present inside the mesh. -- `tNodes` is the total number of (local) nodes present inside the mesh. -- `tIntNodes` is the total number of internal nodes inside the mesh. -- `tElements` is the total number of elements present inside the mesh. It is the size of `elemNumber` vector. -- `minX` denotes the minimum value of x coordinate of `boundingbox`. -- `maxX` denotes the maximum value of x coordinate of `boundingbox`. -- `minY` is the minimum value of y coordinate of `boundingbox`. -- `maxY` is the maximum value of y coordinate of `boundingbox`. -- `minZ` is the minimum value of z coordinate of `boundingbox`. -- `maxZ` is the maximum value of z coordinate of `boundingbox`. -- `X` is the x coordinate of center of mesh. -- `Y` is the y coordinate of center of mesh. -- `Z` is the z coordinate of center of mesh. -- `physicalTag` denotes the physical entities associated with the current entity (mesh) -- `boundingEntity` denotes the bounding entity numbers of the current entity -- `local_elemNumber` denotes the list of local element numbers, the lower bound is `minElemNum` and upper bound is `maxElemNum`. In this way, `local_elemNumber(iel)` returns the local element number of global element number `iel`. -- `local_Nptrs` returns the local node number from a global node number. Its length is from 1 to `maxNptrs`. Helpful in finding if a global node is present inside the mesh or not. -- `material` materials mapped to the mesh, for example - - `material(1)` is the material-id of medium 1 - - `material(2)` is the material-id of medium 2 - - $\cdots$ - - `material(n)` is the material-id of medium n - - For example, soil is a porous medium n = 1, - - fluid is a medium n =2 - - then material(1) denotes the type of soil, that is, clay, sand, and silt. - - and material(2) denotes the type of fluid, water, oil, air. - -- `facetElements` denotes the facet Elements in the reference element -- `facetElementType` - - Number of rows of this array is same as the total number of facets present in the mesh’s reference-element. - - Number of columns of this array is equal to the total number of elements inside the mesh. - - In this way, `facetElementType(ii, iel)` denotes the `ii`th facet’s type of element local element number `iel` - - `facetElementType` can be - - `INTERNAL_ELEMENT`, - - `BOUNDARY_ELEMENT`, - - `DOMAIN_BOUNDARY_ELEMENT`. - - If the face is a part of the mesh boundary then it will be called the `BOUNDARY_ELEMENT` - - If the face is part of domain boundary, then it is a `DOMAIN_BOUNDARY_ELEMENT` - - If the facet is internal to a mesh, then it is a `INTERNAL_ELEMENT` - - Note that every, `DOMAIN_BOUNDARY_ELEMENT` is `BOUNDARY_ELEMENT` but not vice-versa. - -- `nodeData` node data -- `elementData` element data -- `internalFacetData` internal facet data -- `boundaryFacetData` boundary facet Data -- `refelem` Reference element of the mesh (spatial). - -Following variables are required during for time shape functions in space-time finite elements. - -- `quadForTime`, quadrature point for time domain -- `linTimeElemSD` Element shape data on linear time element -- `timeElemSD` Element shape data on time element -- `quadTypeForTime` quadrature type for time -- `continuityTypeForTime` continuity of base function for time -- `interpolTypeForTime` interpolation of base function for time -- `orderTime` order for time - -Following variables are required during for space-shape functions finite elements computations. - -- `quadForSpace` quadrature point for space -- `linSpaceElemSD` Element shape data on linear space (simplex) element -- `spaceElemSD` Element shape data on space element -- `stelemsd` Element shape data on space element -- `quadTypeForSpace` quadrature type for space -- `continuityTypeForSpace` continuity of base function for space -- `interpolTypeForSpace` interpolation type of base function for space -- `orderSpace` order for space - -Following variables are required during for shape functions on facet elements in finite elements computations. - -- `quadForFacet` quadrature point for facet elements -- `linFacetElemSD` Element shape data on linear facet (simplex) element -- `facetElemSD` Element shape data on facet element -- `facetSTelemsd` Element shape data on facet element -- `quadTypeForFacet` quadrature type for facet element -- `continuityTypeForFacet` continuity of base function for facet element -- `interpolTypeForFacet` interpolation type of base function for facet element -- `orderFacet` order for facet element diff --git a/docs/docs-api/Mesh/NodeData_.md b/docs/docs-api/Mesh/NodeData_.md deleted file mode 100644 index 44f30ea4..00000000 --- a/docs/docs-api/Mesh/NodeData_.md +++ /dev/null @@ -1,32 +0,0 @@ ---- -sidebar_position: 2 ---- - -# NodeData - -It is a data type for storing the information of node data in mesh. - -The methods related to this data-type are contained in [[Mesh_#NodeDataMethods]]. - -## Structure - -```fortran -TYPE :: NodeData_ - INTEGER(I4B) :: globalNodeNum = 0 - INTEGER(I4B) :: localNodeNum = 0 - INTEGER(I4B) :: nodeType = INTERNAL_NODE - INTEGER(I4B), ALLOCATABLE :: globalNodes(:) - INTEGER(I4B), ALLOCATABLE :: globalElements(:) - CONTAINS - PROCEDURE, PUBLIC, PASS( obj ) :: Display => nodeData_Display -END TYPE NodeData_ -``` - -- `globalNodeNum` Global node number -- `localNodeNum` local node number -- `nodeType` following node type are defined - - `INTERNAL_NODE` - - `BOUNDARY_NODE` - - `DOMAIN_BOUNDARY_NODE` -- `globalNodes` contains the global node number surrouding the node. Note that this list does not contain self-global-node-number -- `globalElements` contains the global element number surrounding the node. diff --git a/docs/docs-api/Mesh/SetSparsity.md b/docs/docs-api/Mesh/SetSparsity.md new file mode 100644 index 00000000..fafa43bf --- /dev/null +++ b/docs/docs-api/Mesh/SetSparsity.md @@ -0,0 +1,11 @@ +--- +title: SetSparsity +---- + +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: + +import EXAMPLE5 from "../AbstractMesh/SetSparsity.md"; + + diff --git a/docs/docs-api/Mesh/Size.md b/docs/docs-api/Mesh/Size.md index 23e512e6..e8133eb0 100644 --- a/docs/docs-api/Mesh/Size.md +++ b/docs/docs-api/Mesh/Size.md @@ -1,11 +1,11 @@ -# Size +--- +title: Size +--- -## Interface +:::tip Inheritence +This method is inherited from the [AbstractMesh](../AbstractMesh/AbstractMesh_.md) class. +::: -```fortran - MODULE PURE FUNCTION size(obj) RESULT(ans) - CLASS(Mesh_), INTENT(IN) :: obj - !! mesh object - INTEGER(I4B) :: ans - END FUNCTION size -``` +import EXAMPLE5 from "../AbstractMesh/Size.md"; + + diff --git a/docs/docs-api/Mesh/examples/meshdata/GenerateMesh2D_triangle.F90 b/docs/docs-api/Mesh/examples/meshdata/GenerateMesh2D_triangle.F90 index 7d20545d..bd91cf0c 100644 --- a/docs/docs-api/Mesh/examples/meshdata/GenerateMesh2D_triangle.F90 +++ b/docs/docs-api/Mesh/examples/meshdata/GenerateMesh2D_triangle.F90 @@ -1,5 +1,9 @@ +#define SMALL_TRI3_MESH !#define SMALL_TRI6_MESH -#define SMALL_MESH +!#define BIG_TRI3_MESH +!#define BIG_BIG_TRI3_MESH +!#define BIG_TRI6_MESH +!#define BIG_BIG_TRI6_MESH PROGRAM main USE easifemBase @@ -9,13 +13,6 @@ PROGRAM main TYPE(Gmsh_) :: gmsh -#ifdef SMALL_MESH -CHARACTER(LEN=*), PARAMETER :: title = "small_mesh" -REAL(DFP), PARAMETER :: lx = 2.0 -REAL(DFP), PARAMETER :: ly = 2.0 -INTEGER(I4B), PARAMETER :: order = 1 -#endif - #ifdef SMALL_TRI3_MESH CHARACTER(LEN=*), PARAMETER :: title = "small_tri3_mesh" REAL(DFP), PARAMETER :: lx = 2.0 @@ -30,20 +27,34 @@ PROGRAM main INTEGER(I4B), PARAMETER :: order = 2 #endif -#ifdef BIG_MESH -CHARACTER(LEN=*), PARAMETER :: title = "big_mesh" +#ifdef BIG_TRI3_MESH +CHARACTER(LEN=*), PARAMETER :: title = "big_tri3_mesh" REAL(DFP), PARAMETER :: lx = 100.0 REAL(DFP), PARAMETER :: ly = 100.0 INTEGER(I4B), PARAMETER :: order = 1 #endif -#ifdef BIG_BIG_MESH -CHARACTER(LEN=*), PARAMETER :: title = "big_big_mesh" +#ifdef BIG_BIG_TRI3_MESH +CHARACTER(LEN=*), PARAMETER :: title = "big_big_tri3_mesh" REAL(DFP), PARAMETER :: lx = 500.0 REAL(DFP), PARAMETER :: ly = 200.0 INTEGER(I4B), PARAMETER :: order = 1 #endif +#ifdef BIG_TRI6_MESH +CHARACTER(LEN=*), PARAMETER :: title = "big_tri6_mesh" +REAL(DFP), PARAMETER :: lx = 100.0 +REAL(DFP), PARAMETER :: ly = 100.0 +INTEGER(I4B), PARAMETER :: order = 2 +#endif + +#ifdef BIG_BIG_TRI6_MESH +CHARACTER(LEN=*), PARAMETER :: title = "big_big_tri6_mesh" +REAL(DFP), PARAMETER :: lx = 500.0 +REAL(DFP), PARAMETER :: ly = 200.0 +INTEGER(I4B), PARAMETER :: order = 2 +#endif + REAL(DFP), PARAMETER :: meshSize = 1.0 REAL(DFP), PARAMETER :: corner(3) = 0.0_DFP INTEGER(I4B) :: ierr diff --git a/docs/docs-api/Mesh/index.md b/docs/docs-api/Mesh/index.md index bd8b3fb9..86f5e388 100644 --- a/docs/docs-api/Mesh/index.md +++ b/docs/docs-api/Mesh/index.md @@ -19,9 +19,10 @@ tags: `Mesh` datatype handles the finite element mesh. -- You can learn about the structure of `Mesh` [Here](./Mesh_.md) -- The information of `BoundaryFacetData` is given [Here](./BoundaryFacetData_.md) -- The information of `InternalFacetData` is given [Here](./InternalFacetData_.md) +:::warning Deprecated +The support for Mesh has stopped. In future version, the Mesh and FEMesh will be merged. So please use FEMesh instead. +::: + import DocCardList from '@theme/DocCardList'; diff --git a/docs/docs-api/ScalarField/examples/_ScalarField_test_12.md b/docs/docs-api/ScalarField/examples/_ScalarField_test_12.md index 3ce9d922..59125834 100644 --- a/docs/docs-api/ScalarField/examples/_ScalarField_test_12.md +++ b/docs/docs-api/ScalarField/examples/_ScalarField_test_12.md @@ -1,5 +1,3 @@ -In this example we test [Get](./Set.md) method. - ```fortran PROGRAM main USE easifemBase @@ -21,7 +19,7 @@ PROGRAM main CALL resultFile%open() ``` -```fortran title="read domain" +```fortran title="read domain" !> start creating domain CALL meshfile%initiate( filename="./mesh.h5", mode="READ" ) CALL meshfile%open() diff --git a/docs/docs-api/ScalarField/examples/_ScalarField_test_13.md b/docs/docs-api/ScalarField/examples/_ScalarField_test_13.md index b8a626bc..fa0311ca 100644 --- a/docs/docs-api/ScalarField/examples/_ScalarField_test_13.md +++ b/docs/docs-api/ScalarField/examples/_ScalarField_test_13.md @@ -1,5 +1,3 @@ -In this example we test [Get](./Set.md) method. - ```fortran PROGRAM main USE easifemBase diff --git a/docs/docs-api/ScalarField/examples/_ScalarField_test_14.md b/docs/docs-api/ScalarField/examples/_ScalarField_test_14.md index b333b541..17033933 100644 --- a/docs/docs-api/ScalarField/examples/_ScalarField_test_14.md +++ b/docs/docs-api/ScalarField/examples/_ScalarField_test_14.md @@ -1,5 +1,3 @@ -In this example we test [Get](./Set.md) method. - ```fortran PROGRAM main USE easifemBase diff --git a/docs/docs-api/ScalarField/examples/_ScalarField_test_15.md b/docs/docs-api/ScalarField/examples/_ScalarField_test_15.md index 88b0747f..d7fab14e 100644 --- a/docs/docs-api/ScalarField/examples/_ScalarField_test_15.md +++ b/docs/docs-api/ScalarField/examples/_ScalarField_test_15.md @@ -1,5 +1,3 @@ -In this example we test [Get](./Set.md) method. - ```fortran PROGRAM main USE easifemBase diff --git a/docs/docs-api/AbstractSTDBE/AbstractSTDBEInitiate.md b/docs/docs-api/_AbstractSTDBE/AbstractSTDBEInitiate.md similarity index 100% rename from docs/docs-api/AbstractSTDBE/AbstractSTDBEInitiate.md rename to docs/docs-api/_AbstractSTDBE/AbstractSTDBEInitiate.md diff --git a/docs/docs-api/AbstractSTDBE/AbstractSTDBE_.md b/docs/docs-api/_AbstractSTDBE/AbstractSTDBE_.md similarity index 100% rename from docs/docs-api/AbstractSTDBE/AbstractSTDBE_.md rename to docs/docs-api/_AbstractSTDBE/AbstractSTDBE_.md diff --git a/docs/docs-api/AbstractSTDBE/AddFluidMaterial.md b/docs/docs-api/_AbstractSTDBE/AddFluidMaterial.md similarity index 100% rename from docs/docs-api/AbstractSTDBE/AddFluidMaterial.md rename to docs/docs-api/_AbstractSTDBE/AddFluidMaterial.md diff --git a/docs/docs-api/AbstractSTDBE/AddPorousMaterial.md b/docs/docs-api/_AbstractSTDBE/AddPorousMaterial.md similarity index 100% rename from docs/docs-api/AbstractSTDBE/AddPorousMaterial.md rename to docs/docs-api/_AbstractSTDBE/AddPorousMaterial.md diff --git a/docs/docs-api/AbstractSTDBE/AddPressureDirichletBC.md b/docs/docs-api/_AbstractSTDBE/AddPressureDirichletBC.md similarity index 100% rename from docs/docs-api/AbstractSTDBE/AddPressureDirichletBC.md rename to docs/docs-api/_AbstractSTDBE/AddPressureDirichletBC.md diff --git a/docs/docs-api/AbstractSTDBE/AddPressureNeumannBC.md b/docs/docs-api/_AbstractSTDBE/AddPressureNeumannBC.md similarity index 100% rename from docs/docs-api/AbstractSTDBE/AddPressureNeumannBC.md rename to docs/docs-api/_AbstractSTDBE/AddPressureNeumannBC.md diff --git a/docs/docs-api/AbstractSTDBE/AddVelocityDirichletBC.md b/docs/docs-api/_AbstractSTDBE/AddVelocityDirichletBC.md similarity index 100% rename from docs/docs-api/AbstractSTDBE/AddVelocityDirichletBC.md rename to docs/docs-api/_AbstractSTDBE/AddVelocityDirichletBC.md diff --git a/docs/docs-api/AbstractSTDBE/AddVelocityNeumannBC.md b/docs/docs-api/_AbstractSTDBE/AddVelocityNeumannBC.md similarity index 100% rename from docs/docs-api/AbstractSTDBE/AddVelocityNeumannBC.md rename to docs/docs-api/_AbstractSTDBE/AddVelocityNeumannBC.md diff --git a/docs/docs-api/AbstractSTDBE/ApplyDirichletBC.md b/docs/docs-api/_AbstractSTDBE/ApplyDirichletBC.md similarity index 100% rename from docs/docs-api/AbstractSTDBE/ApplyDirichletBC.md rename to docs/docs-api/_AbstractSTDBE/ApplyDirichletBC.md diff --git a/docs/docs-api/AbstractSTDBE/Assemble.md b/docs/docs-api/_AbstractSTDBE/Assemble.md similarity index 100% rename from docs/docs-api/AbstractSTDBE/Assemble.md rename to docs/docs-api/_AbstractSTDBE/Assemble.md diff --git a/docs/docs-api/AbstractSTDBE/AssembleRHS.md b/docs/docs-api/_AbstractSTDBE/AssembleRHS.md similarity index 100% rename from docs/docs-api/AbstractSTDBE/AssembleRHS.md rename to docs/docs-api/_AbstractSTDBE/AssembleRHS.md diff --git a/docs/docs-api/AbstractSTDBE/AssembleTanmat.md b/docs/docs-api/_AbstractSTDBE/AssembleTanmat.md similarity index 100% rename from docs/docs-api/AbstractSTDBE/AssembleTanmat.md rename to docs/docs-api/_AbstractSTDBE/AssembleTanmat.md diff --git a/docs/docs-api/AbstractSTDBE/Deallocate.md b/docs/docs-api/_AbstractSTDBE/Deallocate.md similarity index 100% rename from docs/docs-api/AbstractSTDBE/Deallocate.md rename to docs/docs-api/_AbstractSTDBE/Deallocate.md diff --git a/docs/docs-api/AbstractSTDBE/Display.md b/docs/docs-api/_AbstractSTDBE/Display.md similarity index 100% rename from docs/docs-api/AbstractSTDBE/Display.md rename to docs/docs-api/_AbstractSTDBE/Display.md diff --git a/docs/docs-api/AbstractSTDBE/Export.md b/docs/docs-api/_AbstractSTDBE/Export.md similarity index 100% rename from docs/docs-api/AbstractSTDBE/Export.md rename to docs/docs-api/_AbstractSTDBE/Export.md diff --git a/docs/docs-api/AbstractSTDBE/GetPressureDirichletBCPointer.md b/docs/docs-api/_AbstractSTDBE/GetPressureDirichletBCPointer.md similarity index 100% rename from docs/docs-api/AbstractSTDBE/GetPressureDirichletBCPointer.md rename to docs/docs-api/_AbstractSTDBE/GetPressureDirichletBCPointer.md diff --git a/docs/docs-api/AbstractSTDBE/GetPressureNeumannBCPointer.md b/docs/docs-api/_AbstractSTDBE/GetPressureNeumannBCPointer.md similarity index 100% rename from docs/docs-api/AbstractSTDBE/GetPressureNeumannBCPointer.md rename to docs/docs-api/_AbstractSTDBE/GetPressureNeumannBCPointer.md diff --git a/docs/docs-api/AbstractSTDBE/GetVelocityDirichletBCPointer.md b/docs/docs-api/_AbstractSTDBE/GetVelocityDirichletBCPointer.md similarity index 100% rename from docs/docs-api/AbstractSTDBE/GetVelocityDirichletBCPointer.md rename to docs/docs-api/_AbstractSTDBE/GetVelocityDirichletBCPointer.md diff --git a/docs/docs-api/AbstractSTDBE/GetVelocityNeumannBCPointer.md b/docs/docs-api/_AbstractSTDBE/GetVelocityNeumannBCPointer.md similarity index 100% rename from docs/docs-api/AbstractSTDBE/GetVelocityNeumannBCPointer.md rename to docs/docs-api/_AbstractSTDBE/GetVelocityNeumannBCPointer.md diff --git a/docs/docs-api/AbstractSTDBE/Import.md b/docs/docs-api/_AbstractSTDBE/Import.md similarity index 100% rename from docs/docs-api/AbstractSTDBE/Import.md rename to docs/docs-api/_AbstractSTDBE/Import.md diff --git a/docs/docs-api/AbstractSTDBE/Initiate.md b/docs/docs-api/_AbstractSTDBE/Initiate.md similarity index 100% rename from docs/docs-api/AbstractSTDBE/Initiate.md rename to docs/docs-api/_AbstractSTDBE/Initiate.md diff --git a/docs/docs-api/AbstractSTDBE/InitiateFields.md b/docs/docs-api/_AbstractSTDBE/InitiateFields.md similarity index 100% rename from docs/docs-api/AbstractSTDBE/InitiateFields.md rename to docs/docs-api/_AbstractSTDBE/InitiateFields.md diff --git a/docs/docs-api/AbstractSTDBE/IsConverged.md b/docs/docs-api/_AbstractSTDBE/IsConverged.md similarity index 100% rename from docs/docs-api/AbstractSTDBE/IsConverged.md rename to docs/docs-api/_AbstractSTDBE/IsConverged.md diff --git a/docs/docs-api/AbstractSTDBE/IsSteadyState.md b/docs/docs-api/_AbstractSTDBE/IsSteadyState.md similarity index 100% rename from docs/docs-api/AbstractSTDBE/IsSteadyState.md rename to docs/docs-api/_AbstractSTDBE/IsSteadyState.md diff --git a/docs/docs-api/AbstractSTDBE/Set.md b/docs/docs-api/_AbstractSTDBE/Set.md similarity index 100% rename from docs/docs-api/AbstractSTDBE/Set.md rename to docs/docs-api/_AbstractSTDBE/Set.md diff --git a/docs/docs-api/AbstractSTDBE/Solve.md b/docs/docs-api/_AbstractSTDBE/Solve.md similarity index 100% rename from docs/docs-api/AbstractSTDBE/Solve.md rename to docs/docs-api/_AbstractSTDBE/Solve.md diff --git a/docs/docs-api/AbstractSTDBE/Update.md b/docs/docs-api/_AbstractSTDBE/Update.md similarity index 100% rename from docs/docs-api/AbstractSTDBE/Update.md rename to docs/docs-api/_AbstractSTDBE/Update.md diff --git a/docs/docs-api/AbstractSTDBE/UpdateIteration.md b/docs/docs-api/_AbstractSTDBE/UpdateIteration.md similarity index 100% rename from docs/docs-api/AbstractSTDBE/UpdateIteration.md rename to docs/docs-api/_AbstractSTDBE/UpdateIteration.md diff --git a/docs/docs-api/AbstractSTDBE/WriteData.md b/docs/docs-api/_AbstractSTDBE/WriteData.md similarity index 100% rename from docs/docs-api/AbstractSTDBE/WriteData.md rename to docs/docs-api/_AbstractSTDBE/WriteData.md diff --git a/docs/docs-api/AbstractSTDBE/index.md b/docs/docs-api/_AbstractSTDBE/index.md similarity index 100% rename from docs/docs-api/AbstractSTDBE/index.md rename to docs/docs-api/_AbstractSTDBE/index.md diff --git a/docs/docs-api/STDBE511/STDBE511_.md b/docs/docs-api/_STDBE511/STDBE511_.md similarity index 100% rename from docs/docs-api/STDBE511/STDBE511_.md rename to docs/docs-api/_STDBE511/STDBE511_.md diff --git a/docs/docs-api/STDBE511/STDBE511_test_1.md b/docs/docs-api/_STDBE511/STDBE511_test_1.md similarity index 100% rename from docs/docs-api/STDBE511/STDBE511_test_1.md rename to docs/docs-api/_STDBE511/STDBE511_test_1.md diff --git a/docs/docs-api/STDBE511/STDBE511_test_2.md b/docs/docs-api/_STDBE511/STDBE511_test_2.md similarity index 100% rename from docs/docs-api/STDBE511/STDBE511_test_2.md rename to docs/docs-api/_STDBE511/STDBE511_test_2.md diff --git a/docs/docs-api/STDBE511/STDBE511_test_3.md b/docs/docs-api/_STDBE511/STDBE511_test_3.md similarity index 100% rename from docs/docs-api/STDBE511/STDBE511_test_3.md rename to docs/docs-api/_STDBE511/STDBE511_test_3.md diff --git a/docs/docs-api/STDBE511/STDBE511_test_4.md b/docs/docs-api/_STDBE511/STDBE511_test_4.md similarity index 100% rename from docs/docs-api/STDBE511/STDBE511_test_4.md rename to docs/docs-api/_STDBE511/STDBE511_test_4.md diff --git a/docs/docs-api/STDBE511/STDBE511_test_5.md b/docs/docs-api/_STDBE511/STDBE511_test_5.md similarity index 100% rename from docs/docs-api/STDBE511/STDBE511_test_5.md rename to docs/docs-api/_STDBE511/STDBE511_test_5.md diff --git a/docs/docs-api/STDBE511/index.md b/docs/docs-api/_STDBE511/index.md similarity index 100% rename from docs/docs-api/STDBE511/index.md rename to docs/docs-api/_STDBE511/index.md diff --git a/docs/docs-api/STDarcyBrinkmann/LidDrivenCavity/LidDrivenCavity_test_1.md b/docs/docs-api/_STDarcyBrinkmann/LidDrivenCavity/LidDrivenCavity_test_1.md similarity index 100% rename from docs/docs-api/STDarcyBrinkmann/LidDrivenCavity/LidDrivenCavity_test_1.md rename to docs/docs-api/_STDarcyBrinkmann/LidDrivenCavity/LidDrivenCavity_test_1.md diff --git a/docs/docs-api/STDarcyBrinkmann/LidDrivenCavity/paraviz.md b/docs/docs-api/_STDarcyBrinkmann/LidDrivenCavity/paraviz.md similarity index 100% rename from docs/docs-api/STDarcyBrinkmann/LidDrivenCavity/paraviz.md rename to docs/docs-api/_STDarcyBrinkmann/LidDrivenCavity/paraviz.md diff --git a/docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_.md b/docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_.md similarity index 100% rename from docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_.md rename to docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_.md diff --git a/docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_1.md b/docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_1.md similarity index 100% rename from docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_1.md rename to docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_1.md diff --git a/docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_10.md b/docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_10.md similarity index 100% rename from docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_10.md rename to docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_10.md diff --git a/docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_11.md b/docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_11.md similarity index 100% rename from docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_11.md rename to docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_11.md diff --git a/docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_12.md b/docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_12.md similarity index 100% rename from docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_12.md rename to docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_12.md diff --git a/docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_13.md b/docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_13.md similarity index 100% rename from docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_13.md rename to docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_13.md diff --git a/docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_14.md b/docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_14.md similarity index 100% rename from docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_14.md rename to docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_14.md diff --git a/docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_15.md b/docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_15.md similarity index 100% rename from docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_15.md rename to docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_15.md diff --git a/docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_16.md b/docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_16.md similarity index 100% rename from docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_16.md rename to docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_16.md diff --git a/docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_2.md b/docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_2.md similarity index 100% rename from docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_2.md rename to docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_2.md diff --git a/docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_3.md b/docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_3.md similarity index 100% rename from docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_3.md rename to docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_3.md diff --git a/docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_4.md b/docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_4.md similarity index 100% rename from docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_4.md rename to docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_4.md diff --git a/docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_5.md b/docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_5.md similarity index 100% rename from docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_5.md rename to docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_5.md diff --git a/docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_6.md b/docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_6.md similarity index 100% rename from docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_6.md rename to docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_6.md diff --git a/docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_7.md b/docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_7.md similarity index 100% rename from docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_7.md rename to docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_7.md diff --git a/docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_8.md b/docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_8.md similarity index 100% rename from docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_8.md rename to docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_8.md diff --git a/docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_9.md b/docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_9.md similarity index 100% rename from docs/docs-api/STDarcyBrinkmann/STDarcyBrinkmann_test_9.md rename to docs/docs-api/_STDarcyBrinkmann/STDarcyBrinkmann_test_9.md diff --git a/docs/docs-api/STDarcyBrinkmann/index.md b/docs/docs-api/_STDarcyBrinkmann/index.md similarity index 100% rename from docs/docs-api/STDarcyBrinkmann/index.md rename to docs/docs-api/_STDarcyBrinkmann/index.md diff --git a/docs/docs-api/STDarcyBrinkmann/stdbe_constructor.md b/docs/docs-api/_STDarcyBrinkmann/stdbe_constructor.md similarity index 100% rename from docs/docs-api/STDarcyBrinkmann/stdbe_constructor.md rename to docs/docs-api/_STDarcyBrinkmann/stdbe_constructor.md diff --git a/docs/docs-api/STDarcyBrinkmann/stdbe_io.md b/docs/docs-api/_STDarcyBrinkmann/stdbe_io.md similarity index 100% rename from docs/docs-api/STDarcyBrinkmann/stdbe_io.md rename to docs/docs-api/_STDarcyBrinkmann/stdbe_io.md diff --git a/docs/docs-api/STDarcyBrinkmann/stdbe_status.md b/docs/docs-api/_STDarcyBrinkmann/stdbe_status.md similarity index 100% rename from docs/docs-api/STDarcyBrinkmann/stdbe_status.md rename to docs/docs-api/_STDarcyBrinkmann/stdbe_status.md diff --git a/docs/docs-api/STDarcyBrinkmann/stdbe_structure.md b/docs/docs-api/_STDarcyBrinkmann/stdbe_structure.md similarity index 100% rename from docs/docs-api/STDarcyBrinkmann/stdbe_structure.md rename to docs/docs-api/_STDarcyBrinkmann/stdbe_structure.md diff --git a/docs/docs-api/STDarcyBrinkmann/stdbe_theory.md b/docs/docs-api/_STDarcyBrinkmann/stdbe_theory.md similarity index 100% rename from docs/docs-api/STDarcyBrinkmann/stdbe_theory.md rename to docs/docs-api/_STDarcyBrinkmann/stdbe_theory.md diff --git a/docs/guides/easifemGO/index.mdx b/docs/guides/easifemGO/index.mdx index 3b827e23..33361761 100644 --- a/docs/guides/easifemGO/index.mdx +++ b/docs/guides/easifemGO/index.mdx @@ -87,7 +87,7 @@ You can read more more about the configuration files [here](./config.md). /> } /> ( + cell: ({ cell, row: { original } }) => ( - {value} + {cell.getValue()} ), }, { - Header: "Description", - accessor: "description", + header: "Description", + accessorKey: "description", className: "pester-data-table left", - Cell: ({ cell: { value }, row: { original } }) => ( - {value} + cell: ({ cell, row: { original } }) => ( + {cell.getValue()} {"🚀 More..."} @@ -121,11 +121,11 @@ export const columns = [ }, { - Header: "Command", - accessor: "cmd", + header: "Command", + accessorKey: "cmd", className: "pester-data-table left", - Cell: ({ cell: { value }, row: { original } }) => ( - {value} + cell: ({ cell, row: { original } }) => ( + {cell.getValue()} ), }, ]; diff --git a/docs/guides/programming-fem/dirichletBC/index.mdx b/docs/guides/programming-fem/dirichletBC/index.mdx index 10eebdf2..effe20b9 100644 --- a/docs/guides/programming-fem/dirichletBC/index.mdx +++ b/docs/guides/programming-fem/dirichletBC/index.mdx @@ -121,7 +121,7 @@ CALL SetAbstractBCParam(param=param, prefix=obj%GetPrefix(), & Because we are setting constant boundary condition, we used `nodalValueType=Constant`. ::: -You can learn more about this method [here](docs-api/AbstractBC/SetAbstractBCParam). +You can learn more about this method [here](/docs-api/AbstractBC/SetAbstractBCParam). ### Step 2: Define a boundary diff --git a/docs/guides/programming-fem/linearElasticity/import_hdf5.md b/docs/guides/programming-fem/linearElasticity/import_hdf5.md index 98462169..845c5a8e 100644 --- a/docs/guides/programming-fem/linearElasticity/import_hdf5.md +++ b/docs/guides/programming-fem/linearElasticity/import_hdf5.md @@ -24,7 +24,7 @@ We need following data in the `HDF5File`. | `invC` | REAL(6,6) | | This is necessary when `ANISO` option is selected. | :::caution -Before using these examples, make sure to export the data as shown [here](/guides/programming-fem/LinearElasticity/export_hdf5). +Before using these examples, make sure to export the data as shown [here](/guides/programming-fem/linearElasticity/export_hdf5). ::: diff --git a/docs/partials/_install-os.mdx b/docs/partials/_install-os.mdx index f5d4b7bf..e44ac5e3 100644 --- a/docs/partials/_install-os.mdx +++ b/docs/partials/_install-os.mdx @@ -19,7 +19,7 @@ Step 3: Setup the EASIFEM environment variables. Step 4: Install external pacakges
  • -Step 5 onwards: Install EASIFEM components such as `easifemBase`, `easifemClasses`, `easifemMaterials`, and `easifemKernels`. +Step 5 onwards: Install EASIFEM components such as `easifemBase`, `easifemClasses`.
  • @@ -64,15 +64,5 @@ Step 5 onwards: Install EASIFEM components such as `easifemBase`, `easifemClasse to={props.addParticipantPath + '/install-easifem-classes'} icon={} /> - } - /> - } - /> diff --git a/docusaurus.config.js b/docusaurus.config.js index a53abf6d..b6154492 100644 --- a/docusaurus.config.js +++ b/docusaurus.config.js @@ -121,7 +121,11 @@ const config = { routeBasePath: "/guides", ...defaultSettings, }, - blog: false, + blog: { + path: "docs/blog", + id: "blog", + routeBasePath: "/blog", + }, theme: { customCss: [ require.resolve("./src/css/custom.css"), @@ -182,11 +186,10 @@ const config = { label: "Docs", to: "docs-api", }, - // { - // to: '/gists', - // label: 'Gists', - // position: 'left', - // }, + { + label: "Blog", + to: "blog", + }, { type: "search", position: "right", @@ -274,7 +277,7 @@ const config = { copyright: "Copyright © Vikas Sharma since 2023. All rights reserved.", }, prism: { - additionalLanguages: ["fortran", "bash", "python", "toml"], + additionalLanguages: ["fortran", "bash", "python", "toml", "cmake"], theme: require("./src/plugins/prism_themes/tokyonight_night"), magicComments: [ { diff --git a/package.json b/package.json index 225c6432..f1efef35 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "easifem-docs", - "version": "23.10.0", + "version": "25.04.0", "private": true, "scripts": { "docusaurus": "docusaurus", @@ -19,9 +19,8 @@ "@docusaurus/preset-classic": "3.7.0", "@docusaurus/theme-common": "3.7.0", "@fluentui/react-icons": "^2.0.235", - "@headlessui/react": "^1.7.18", - "@mdx-js/react": "^3.0.1", - "@types/react": "^18.2.75", + "@mdx-js/react": "^3.1.0", + "@types/react": "^19.0.0", "clsx": "^1.2.1", "docusaurus-plugin-drawio": "^0.4.0", "dotenv": "^16.4.5", @@ -31,10 +30,10 @@ "prism-react-renderer": "^2.3.1", "prismjs": "^1.29.0", "raw-loader": "^4.0.2", - "react": "^18.2.0", - "react-dom": "^18.2.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", "react-feather": "^2.0.10", - "react-table": "latest", + "@tanstack/react-table": "latest", "rehype-katex": "^7.0.0", "remark-math": "^6.0.0" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 08eba344..976670e9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -10,31 +10,31 @@ importers: dependencies: '@docusaurus/core': specifier: 3.7.0 - version: 3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) + version: 3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2) '@docusaurus/preset-classic': specifier: 3.7.0 - version: 3.7.0(@algolia/client-search@5.19.0)(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(@types/react@18.2.77)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.13.0)(typescript@5.2.2) + version: 3.7.0(@algolia/client-search@5.19.0)(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(@types/react@19.1.3)(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.13.0)(typescript@5.2.2) '@docusaurus/theme-common': specifier: 3.7.0 - version: 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2))(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2))(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@fluentui/react-icons': specifier: ^2.0.235 - version: 2.0.235(react@18.2.0) - '@headlessui/react': - specifier: ^1.7.18 - version: 1.7.18(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 2.0.300(react@19.1.0) '@mdx-js/react': - specifier: ^3.0.1 - version: 3.0.1(@types/react@18.2.77)(react@18.2.0) + specifier: ^3.1.0 + version: 3.1.0(@types/react@19.1.3)(react@19.1.0) + '@tanstack/react-table': + specifier: latest + version: 8.21.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@types/react': - specifier: ^18.2.75 - version: 18.2.77 + specifier: ^19.0.0 + version: 19.1.3 clsx: specifier: ^1.2.1 version: 1.2.1 docusaurus-plugin-drawio: specifier: ^0.4.0 - version: 0.4.0(webpack@5.91.0(@swc/core@1.4.13)) + version: 0.4.0(webpack@5.91.0(@swc/core@1.4.13(@swc/helpers@0.5.17))) dotenv: specifier: ^16.4.5 version: 16.4.5 @@ -49,25 +49,22 @@ importers: version: 6.5.1 prism-react-renderer: specifier: ^2.3.1 - version: 2.3.1(react@18.2.0) + version: 2.3.1(react@19.1.0) prismjs: specifier: ^1.29.0 version: 1.29.0 raw-loader: specifier: ^4.0.2 - version: 4.0.2(webpack@5.91.0(@swc/core@1.4.13)) + version: 4.0.2(webpack@5.91.0(@swc/core@1.4.13(@swc/helpers@0.5.17))) react: - specifier: ^18.2.0 - version: 18.2.0 + specifier: ^19.0.0 + version: 19.1.0 react-dom: - specifier: ^18.2.0 - version: 18.2.0(react@18.2.0) + specifier: ^19.0.0 + version: 19.1.0(react@19.1.0) react-feather: specifier: ^2.0.10 - version: 2.0.10(react@18.2.0) - react-table: - specifier: latest - version: 7.8.0(react@18.2.0) + version: 2.0.10(react@19.1.0) rehype-katex: specifier: ^7.0.0 version: 7.0.0 @@ -77,19 +74,19 @@ importers: devDependencies: '@docusaurus/module-type-aliases': specifier: 3.7.0 - version: 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@docusaurus/tsconfig': specifier: 3.7.0 version: 3.7.0 '@docusaurus/types': specifier: 3.7.0 - version: 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@radix-ui/react-select': specifier: ^2.1.1 - version: 2.1.1(@types/react@18.2.77)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + version: 2.2.4(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@swc/core': specifier: ^1.4.13 - version: 1.4.13 + version: 1.4.13(@swc/helpers@0.5.17) '@typescript-eslint/eslint-plugin': specifier: ^5.62.0 version: 5.62.0(@typescript-eslint/parser@5.62.0(eslint@8.57.0)(typescript@5.2.2))(eslint@8.57.0)(typescript@5.2.2) @@ -137,16 +134,16 @@ importers: version: 0.11.10 react-markdown: specifier: ^8.0.7 - version: 8.0.7(@types/react@18.2.77)(react@18.2.0) + version: 8.0.7(@types/react@19.1.3)(react@19.1.0) stream-browserify: specifier: ^3.0.0 version: 3.0.0 swc-loader: specifier: ^0.2.6 - version: 0.2.6(@swc/core@1.4.13)(webpack@5.91.0(@swc/core@1.4.13)) + version: 0.2.6(@swc/core@1.4.13(@swc/helpers@0.5.17))(webpack@5.91.0(@swc/core@1.4.13(@swc/helpers@0.5.17))) tailwindcss: specifier: ^3.4.3 - version: 3.4.3 + version: 3.4.17 typedoc: specifier: ^0.26.6 version: 0.26.6(typescript@5.2.2) @@ -1894,17 +1891,17 @@ packages: '@floating-ui/dom@1.6.3': resolution: {integrity: sha512-RnDthu3mzPlQ31Ss/BTwQ1zjzIhr3lk1gZB1OC56h/1vEtaXkESrOqL5fQVMfXpwGtRwX+YsZBdyHtJMQnkArw==} - '@floating-ui/react-dom@2.0.8': - resolution: {integrity: sha512-HOdqOt3R3OGeTKidaLvJKcgg75S6tibQ3Tif4eyd91QnIJWr0NLvoXFpJA/j8HqkFSL68GDca9AuyWEHlhyClw==} + '@floating-ui/react-dom@2.1.2': + resolution: {integrity: sha512-06okr5cgPzMNBy+Ycse2A6udMi4bqwW/zgBF/rwjcNqWkyr82Mcg8b0vjX8OJpZFy/FKjJmw6wV7t44kK6kW7A==} peerDependencies: react: '>=16.8.0' react-dom: '>=16.8.0' - '@floating-ui/utils@0.2.1': - resolution: {integrity: sha512-9TANp6GPoMtYzQdt54kfAyMmz1+osLlXdg2ENroU7zzrtflTLrrC/lgrIfaSe+Wu0b89GKccT7vxXA0MoAIO+Q==} + '@floating-ui/utils@0.2.9': + resolution: {integrity: sha512-MDWhGtE+eHw5JW7lq4qhc5yRLS11ERl1c7Z6Xd0a58DozHES6EnNNwUWbMiG4J9Cgj053Bhk8zvlhFYKVhULwg==} - '@fluentui/react-icons@2.0.235': - resolution: {integrity: sha512-8uZPBncO+dTHuZyke+KXv4bSF4ZtHyniVOVWXnbFClqMmarb4qRul06qCqq2bbqz/7xFtP5YujypKn+d2i+vEg==} + '@fluentui/react-icons@2.0.300': + resolution: {integrity: sha512-NyeeklHWwK8IOqP4joErsHMek6+adVtWwYpEEKE9XuphxCRqMqZ9ZUerNB7OyjKnJELZ3lD/uCsSoeSbzBlnjQ==} peerDependencies: react: '>=16.8.0 <19.0.0' @@ -1925,13 +1922,6 @@ packages: '@hapi/topo@5.1.0': resolution: {integrity: sha512-foQZKJig7Ob0BMAYBfcJk8d77QtOe7Wo4ox7ff1lQYoNNAb6jwcY1ncdoy2e9wQZzvNy7ODZCYJkK8kzmcAnAg==} - '@headlessui/react@1.7.18': - resolution: {integrity: sha512-4i5DOrzwN4qSgNsL4Si61VMkUcWbcSKueUV7sFhpHzQcSShdlHENE5+QBntMSRvHt8NyoFO2AGG8si9lq+w4zQ==} - engines: {node: '>=10'} - peerDependencies: - react: ^16 || ^17 || ^18 - react-dom: ^16 || ^17 || ^18 - '@humanwhocodes/config-array@0.11.14': resolution: {integrity: sha512-3T8LkOmg45BV5FICb15QQMsyUSWrQ8AygVfC7ZG32zOalnqrilm018ZVCw0eapXux8FtA33q8PSRSstjee3jSg==} engines: {node: '>=10.10.0'} @@ -1982,8 +1972,8 @@ packages: '@mdx-js/mdx@3.0.1': resolution: {integrity: sha512-eIQ4QTrOWyL3LWEe/bu6Taqzq2HQvHcyTMaOrI95P2/LmJE7AsfPfgJGuFLPVqBUE1BC1rik3VIhU+s9u72arA==} - '@mdx-js/react@3.0.1': - resolution: {integrity: sha512-9ZrPIU4MGf6et1m1ov3zKf+q9+deetI51zprKB1D/z3NOb+rUxxtEl3mCjW5wTGh6VhRdwPueh1oRzi6ezkA8A==} + '@mdx-js/react@3.1.0': + resolution: {integrity: sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ==} peerDependencies: '@types/react': '>=16' react: '>=16' @@ -2019,14 +2009,14 @@ packages: '@polka/url@1.0.0-next.25': resolution: {integrity: sha512-j7P6Rgr3mmtdkeDGTe0E/aYyWEWVtc5yFXtHCRHs28/jptDEWfaVOc5T7cblqy1XKPPfCxJc/8DwQ5YgLOZOVQ==} - '@radix-ui/number@1.1.0': - resolution: {integrity: sha512-V3gRzhVNU1ldS5XhAPTom1fOIo4ccrjjJgmE+LI2h/WaFpHmx0MQApT+KZHnx8abG6Avtfcz4WoEciMnpFT3HQ==} + '@radix-ui/number@1.1.1': + resolution: {integrity: sha512-MkKCwxlXTgz6CFoJx3pCwn07GKp36+aZyu/u2Ln2VrA5DcdyCZkASEDBTd8x5whTQQL5CiYf4prXKLcgQdv29g==} - '@radix-ui/primitive@1.1.0': - resolution: {integrity: sha512-4Z8dn6Upk0qk4P74xBhZ6Hd/w0mPEzOOLxy4xiPXOXqjF7jZS0VAKk7/x/H6FyY2zCkYJqePf1G5KmkmNJ4RBA==} + '@radix-ui/primitive@1.1.2': + resolution: {integrity: sha512-XnbHrrprsNqZKQhStrSwgRUQzoCI1glLzdw79xiZPoofhGICeZRSQ3dIxAKH1gb3OHfNf4d6f+vAv3kil2eggA==} - '@radix-ui/react-arrow@1.1.0': - resolution: {integrity: sha512-FmlW1rCg7hBpEBwFbjHwCW6AmWLQM6g/v0Sn8XbP9NvmSZ2San1FpQeyPtufzOMSIx7Y4dzjlHoifhp+7NkZhw==} + '@radix-ui/react-arrow@1.1.6': + resolution: {integrity: sha512-2JMfHJf/eVnwq+2dewT3C0acmCWD3XiVA1Da+jTDqo342UlU13WvXtqHhG+yJw5JeQmu4ue2eMy6gcEArLBlcw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -2038,8 +2028,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-collection@1.1.0': - resolution: {integrity: sha512-GZsZslMJEyo1VKm5L1ZJY8tGDxZNPAoUeQUIbKeJfoi7Q4kmig5AsgLMYYuyYbfjd8fBmFORAIwYAkXMnXZgZw==} + '@radix-ui/react-collection@1.1.6': + resolution: {integrity: sha512-PbhRFK4lIEw9ADonj48tiYWzkllz81TM7KVYyyMMw2cwHO7D5h4XKEblL8NlaRisTK3QTe6tBEhDccFUryxHBQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -2051,8 +2041,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-compose-refs@1.1.0': - resolution: {integrity: sha512-b4inOtiaOnYf9KWyO3jAeeCG6FeyfY6ldiEPanbUjWd+xIk5wZeHa8yVwmrJ2vderhu/BQvzCrJI0lHd+wIiqw==} + '@radix-ui/react-compose-refs@1.1.2': + resolution: {integrity: sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -2060,8 +2050,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-context@1.1.0': - resolution: {integrity: sha512-OKrckBy+sMEgYM/sMmqmErVn0kZqrHPJze+Ql3DzYsDDp0hl0L62nx/2122/Bvps1qz645jlcu2tD9lrRSdf8A==} + '@radix-ui/react-context@1.1.2': + resolution: {integrity: sha512-jCi/QKUM2r1Ju5a3J64TH2A5SpKAgh0LpknyqdQ4m6DCV0xJ2HG1xARRwNGPQfi1SLdLWZ1OJz6F4OMBBNiGJA==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -2069,8 +2059,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-direction@1.1.0': - resolution: {integrity: sha512-BUuBvgThEiAXh2DWu93XsT+a3aWrGqolGlqqw5VU1kG7p/ZH2cuDlM1sRLNnY3QcBS69UIz2mcKhMxDsdewhjg==} + '@radix-ui/react-direction@1.1.1': + resolution: {integrity: sha512-1UEWRX6jnOA2y4H5WczZ44gOOjTEmlqv1uNW4GAJEO5+bauCBhv8snY65Iw5/VOS/ghKN9gr2KjnLKxrsvoMVw==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -2078,8 +2068,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-dismissable-layer@1.1.0': - resolution: {integrity: sha512-/UovfmmXGptwGcBQawLzvn2jOfM0t4z3/uKffoBlj724+n3FvBbZ7M0aaBOmkp6pqFYpO4yx8tSVJjx3Fl2jig==} + '@radix-ui/react-dismissable-layer@1.1.9': + resolution: {integrity: sha512-way197PiTvNp+WBP7svMJasHl+vibhWGQDb6Mgf5mhEWJkgb85z7Lfl9TUdkqpWsf8GRNmoopx9ZxCyDzmgRMQ==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -2091,8 +2081,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-focus-guards@1.1.0': - resolution: {integrity: sha512-w6XZNUPVv6xCpZUqb/yN9DL6auvpGX3C/ee6Hdi16v2UUy25HV2Q5bcflsiDyT/g5RwbPQ/GIT1vLkeRb+ITBw==} + '@radix-ui/react-focus-guards@1.1.2': + resolution: {integrity: sha512-fyjAACV62oPV925xFCrH8DR5xWhg9KYtJT4s3u54jxp+L/hbpTY2kIeEFFbFe+a/HCE94zGQMZLIpVTPVZDhaA==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -2100,8 +2090,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-focus-scope@1.1.0': - resolution: {integrity: sha512-200UD8zylvEyL8Bx+z76RJnASR2gRMuxlgFCPAe/Q/679a/r0eK3MBVYMb7vZODZcffZBdob1EGnky78xmVvcA==} + '@radix-ui/react-focus-scope@1.1.6': + resolution: {integrity: sha512-r9zpYNUQY+2jWHWZGyddQLL9YHkM/XvSFHVcWs7bdVuxMAnCwTAuy6Pf47Z4nw7dYcUou1vg/VgjjrrH03VeBw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -2113,8 +2103,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-id@1.1.0': - resolution: {integrity: sha512-EJUrI8yYh7WOjNOqpoJaf1jlFIH2LvtgAl+YcFqNCa+4hj64ZXmPkAKOFs/ukjz3byN6bdb/AVUqHkI8/uWWMA==} + '@radix-ui/react-id@1.1.1': + resolution: {integrity: sha512-kGkGegYIdQsOb4XjsfM97rXsiHaBwco+hFI66oO4s9LU+PLAC5oJ7khdOVFxkhsmlbpUqDAvXw11CluXP+jkHg==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -2122,8 +2112,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-popper@1.2.0': - resolution: {integrity: sha512-ZnRMshKF43aBxVWPWvbj21+7TQCvhuULWJ4gNIKYpRlQt5xGRhLx66tMp8pya2UkGHTSlhpXwmjqltDYHhw7Vg==} + '@radix-ui/react-popper@1.2.6': + resolution: {integrity: sha512-7iqXaOWIjDBfIG7aq8CUEeCSsQMLFdn7VEE8TaFz704DtEzpPHR7w/uuzRflvKgltqSAImgcmxQ7fFX3X7wasg==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -2135,8 +2125,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-portal@1.1.1': - resolution: {integrity: sha512-A3UtLk85UtqhzFqtoC8Q0KvR2GbXF3mtPgACSazajqq6A41mEQgo53iPzY4i6BwDxlIFqWIhiQ2G729n+2aw/g==} + '@radix-ui/react-portal@1.1.8': + resolution: {integrity: sha512-hQsTUIn7p7fxCPvao/q6wpbxmCwgLrlz+nOrJgC+RwfZqWY/WN+UMqkXzrtKbPrF82P43eCTl3ekeKuyAQbFeg==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -2148,8 +2138,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-primitive@2.0.0': - resolution: {integrity: sha512-ZSpFm0/uHa8zTvKBDjLFWLo8dkr4MBsiDLz0g3gMUwqgLHz9rTaRRGYDgvZPtBJgYCBKXkS9fzmoySgr8CO6Cw==} + '@radix-ui/react-primitive@2.1.2': + resolution: {integrity: sha512-uHa+l/lKfxuDD2zjN/0peM/RhhSmRjr5YWdk/37EnSv1nJ88uvG85DPexSm8HdFQROd2VdERJ6ynXbkCFi+APw==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -2161,8 +2151,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-select@2.1.1': - resolution: {integrity: sha512-8iRDfyLtzxlprOo9IicnzvpsO1wNCkuwzzCM+Z5Rb5tNOpCdMvcc2AkzX0Fz+Tz9v6NJ5B/7EEgyZveo4FBRfQ==} + '@radix-ui/react-select@2.2.4': + resolution: {integrity: sha512-/OOm58Gil4Ev5zT8LyVzqfBcij4dTHYdeyuF5lMHZ2bIp0Lk9oETocYiJ5QC0dHekEQnK6L/FNJCceeb4AkZ6Q==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -2174,8 +2164,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/react-slot@1.1.0': - resolution: {integrity: sha512-FUCf5XMfmW4dtYl69pdS4DbxKy8nj4M7SafBgPllysxmdachynNflAdp/gCsnYWNDnge6tI9onzMp5ARYc1KNw==} + '@radix-ui/react-slot@1.2.2': + resolution: {integrity: sha512-y7TBO4xN4Y94FvcWIOIh18fM4R1A8S4q1jhoz4PNzOoHsFcN8pogcFmZrTYAm4F9VRUrWP/Mw7xSKybIeRI+CQ==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -2183,8 +2173,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-use-callback-ref@1.1.0': - resolution: {integrity: sha512-CasTfvsy+frcFkbXtSJ2Zu9JHpN8TYKxkgJGWbjiZhFivxaeW7rMeZt7QELGVLaYVfFMsKHjb7Ak0nMEe+2Vfw==} + '@radix-ui/react-use-callback-ref@1.1.1': + resolution: {integrity: sha512-FkBMwD+qbGQeMu1cOHnuGB6x4yzPjho8ap5WtbEJ26umhgqVXbhekKUQO+hZEL1vU92a3wHwdp0HAcqAUF5iDg==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -2192,8 +2182,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-use-controllable-state@1.1.0': - resolution: {integrity: sha512-MtfMVJiSr2NjzS0Aa90NPTnvTSg6C/JLCV7ma0W6+OMV78vd8OyRpID+Ng9LxzsPbLeuBnWBA1Nq30AtBIDChw==} + '@radix-ui/react-use-controllable-state@1.2.2': + resolution: {integrity: sha512-BjasUjixPFdS+NKkypcyyN5Pmg83Olst0+c6vGov0diwTEo6mgdqVR6hxcEgFuh4QrAs7Rc+9KuGJ9TVCj0Zzg==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -2201,8 +2191,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-use-escape-keydown@1.1.0': - resolution: {integrity: sha512-L7vwWlR1kTTQ3oh7g1O0CBF3YCyyTj8NmhLR+phShpyA50HCfBFKVJTpshm9PzLiKmehsrQzTYTpX9HvmC9rhw==} + '@radix-ui/react-use-effect-event@0.0.2': + resolution: {integrity: sha512-Qp8WbZOBe+blgpuUT+lw2xheLP8q0oatc9UpmiemEICxGvFLYmHm9QowVZGHtJlGbS6A6yJ3iViad/2cVjnOiA==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -2210,8 +2200,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-use-layout-effect@1.1.0': - resolution: {integrity: sha512-+FPE0rOdziWSrH9athwI1R0HDVbWlEhd+FR+aSDk4uWGmSJ9Z54sdZVDQPZAinJhJXwfT+qnj969mCsT2gfm5w==} + '@radix-ui/react-use-escape-keydown@1.1.1': + resolution: {integrity: sha512-Il0+boE7w/XebUHyBjroE+DbByORGR9KKmITzbR7MyQ4akpORYP/ZmbhAr0DG7RmmBqoOnZdy2QlvajJ2QA59g==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -2219,8 +2209,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-use-previous@1.1.0': - resolution: {integrity: sha512-Z/e78qg2YFnnXcW88A4JmTtm4ADckLno6F7OXotmkQfeuCVaKuYzqAATPhVzl3delXE7CxIV8shofPn3jPc5Og==} + '@radix-ui/react-use-layout-effect@1.1.1': + resolution: {integrity: sha512-RbJRS4UWQFkzHTTwVymMTUv8EqYhOp8dOOviLj2ugtTiXRaRQS7GLGxZTLL1jWhMeoSCf5zmcZkqTl9IiYfXcQ==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -2228,8 +2218,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-use-rect@1.1.0': - resolution: {integrity: sha512-0Fmkebhr6PiseyZlYAOtLS+nb7jLmpqTrJyv61Pe68MKYW6OWdRE2kI70TaYY27u7H0lajqM3hSMMLFq18Z7nQ==} + '@radix-ui/react-use-previous@1.1.1': + resolution: {integrity: sha512-2dHfToCj/pzca2Ck724OZ5L0EVrr3eHRNsG/b3xQJLA2hZpVCS99bLAX+hm1IHXDEnzU6by5z/5MIY794/a8NQ==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -2237,8 +2227,8 @@ packages: '@types/react': optional: true - '@radix-ui/react-use-size@1.1.0': - resolution: {integrity: sha512-XW3/vWuIXHa+2Uwcc2ABSfcCledmXhhQPlGbfcRXbiUQI5Icjcg19BGCZVKKInYbvUCut/ufbbLLPFC5cbb1hw==} + '@radix-ui/react-use-rect@1.1.1': + resolution: {integrity: sha512-QTYuDesS0VtuHNNvMh+CjlKJ4LJickCMUAqjlE3+j8w+RlRpwyX3apEQKGFzbZGdo7XNG1tXa+bQqIE7HIXT2w==} peerDependencies: '@types/react': '*' react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc @@ -2246,8 +2236,17 @@ packages: '@types/react': optional: true - '@radix-ui/react-visually-hidden@1.1.0': - resolution: {integrity: sha512-N8MDZqtgCgG5S3aV60INAB475osJousYpZ4cTJ2cFbMpdHS5Y6loLTH8LPtkj2QN0x93J30HT/M3qJXM0+lyeQ==} + '@radix-ui/react-use-size@1.1.1': + resolution: {integrity: sha512-ewrXRDTAqAXlkl6t/fkXWNAhFX9I+CkKlw6zjEwk86RSPKwZr3xpBRso655aqYafwtnbpHLj6toFzmd6xdVptQ==} + peerDependencies: + '@types/react': '*' + react: ^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc + peerDependenciesMeta: + '@types/react': + optional: true + + '@radix-ui/react-visually-hidden@1.2.2': + resolution: {integrity: sha512-ORCmRUbNiZIv6uV5mhFrhsIKw4UX/N3syZtyqvry61tbGm4JlgQuSn0hk5TwCARsCjkcnuRkSdCE3xfb+ADHew==} peerDependencies: '@types/react': '*' '@types/react-dom': '*' @@ -2259,8 +2258,8 @@ packages: '@types/react-dom': optional: true - '@radix-ui/rect@1.1.0': - resolution: {integrity: sha512-A9+lCBZoaMJlVKcRBz2YByCG+Cp2t6nAnMnNba+XiWxnj6r4JUFqfsgwocMBZU9LPtdxC6wB56ySYpc7LQIoJg==} + '@radix-ui/rect@1.1.1': + resolution: {integrity: sha512-HPwpGIzkl28mWyZqG52jiqDJ12waP11Pa1lGoiyUkIEuMLBP0oeK/C89esbXrxsky5we7dfd8U58nm0SgAWpVw==} '@shikijs/core@1.14.1': resolution: {integrity: sha512-KyHIIpKNaT20FtFPFjCQB5WVSTpLR/n+jQXhWHWVUMm9MaOaG9BGOG0MSyt7yA4+Lm+4c9rTc03tt3nYzeYSfw==} @@ -2444,6 +2443,9 @@ packages: '@swc/counter@0.1.3': resolution: {integrity: sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==} + '@swc/helpers@0.5.17': + resolution: {integrity: sha512-5IKx/Y13RsYd+sauPb2x+U/xZikHjolzfuDgTAl/Tdf3Q8rslRvC19NKDLgAJQ6wsqADk10ntlv08nPFw/gO/A==} + '@swc/types@0.1.6': resolution: {integrity: sha512-/JLo/l2JsT/LRd80C3HfbmVpxOAJ11FO2RCEslFrgzLltoP9j8XIbsyDcfCt2WWyX+CM96rBoNM+IToAkFOugg==} @@ -2451,14 +2453,16 @@ packages: resolution: {integrity: sha512-+PmQX0PiAYPMeVYe237LJAYvOMYW1j2rH5YROyS3b4CTVJum34HfRvKvAzozHAQG0TnHNdUfY9nCeUyRAs//cw==} engines: {node: '>=14.16'} - '@tanstack/react-virtual@3.2.1': - resolution: {integrity: sha512-i9Nt0ssIh2bSjomJZlr6Iq5usT/9+ewo2/fKHRNk6kjVKS8jrhXbnO8NEawarCuBx/efv0xpoUUKKGxa0cQb4Q==} + '@tanstack/react-table@8.21.3': + resolution: {integrity: sha512-5nNMTSETP4ykGegmVkhjcS8tTLW6Vl4axfEGQN3v0zdHYbK4UfoqfPChclTrJ4EoK9QynqAu9oUf8VEmrpZ5Ww==} + engines: {node: '>=12'} peerDependencies: - react: ^16.8.0 || ^17.0.0 || ^18.0.0 - react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 + react: '>=16.8' + react-dom: '>=16.8' - '@tanstack/virtual-core@3.2.1': - resolution: {integrity: sha512-nO0d4vRzsmpBQCJYyClNHPPoUMI4nXNfrm6IcCRL33ncWMoNVpURh9YebEHPw8KrtsP2VSJIHE4gf4XFGk1OGg==} + '@tanstack/table-core@8.21.3': + resolution: {integrity: sha512-ldZXEhOBb8Is7xLs01fR3YEc3DERiz5silj8tnGkFZytt1abEvl/GhUmCE0PMLaMPTa3Jk4HbKmRlHmu+gCftg==} + engines: {node: '>=12'} '@trysound/sax@0.2.0': resolution: {integrity: sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==} @@ -2590,8 +2594,8 @@ packages: '@types/react-router@5.1.20': resolution: {integrity: sha512-jGjmu/ZqS7FjSH6owMcD5qpq19+1RS9DeVRqfl1FeBMxTDQAGwlMWOcs52NDoXaNKyG3d1cYQFMs9rCrb88o9Q==} - '@types/react@18.2.77': - resolution: {integrity: sha512-CUT9KUUF+HytDM7WiXKLF9qUSg4tGImwy4FXTlfEDPEkkNUzJ7rVFolYweJ9fS1ljoIaP7M7Rdjc5eUm/Yu5AA==} + '@types/react@19.1.3': + resolution: {integrity: sha512-dLWQ+Z0CkIvK1J8+wrDPwGxEYFA4RAyHoZPxHVGspYmFVnwGSNT24cGIhFJrtfRnWVuW8X7NO52gCXmhkVUWGQ==} '@types/retry@0.12.0': resolution: {integrity: sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==} @@ -3010,6 +3014,10 @@ packages: resolution: {integrity: sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==} engines: {node: '>=8'} + braces@3.0.3: + resolution: {integrity: sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==} + engines: {node: '>=8'} + browserslist@4.23.0: resolution: {integrity: sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==} engines: {node: ^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7} @@ -3140,9 +3148,6 @@ packages: resolution: {integrity: sha512-Lm3L0p+/npIQWNIiyF/nAn7T5dnOwR3xNTHXYEBFBFVPXzCVNZ5lqEC/1eo/EVfpDsQ1I+TX4ORPQgp+UI0CRw==} engines: {node: 10.* || >= 12.*} - client-only@0.0.1: - resolution: {integrity: sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==} - clone-deep@4.0.1: resolution: {integrity: sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==} engines: {node: '>=6'} @@ -3304,6 +3309,10 @@ packages: resolution: {integrity: sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==} engines: {node: '>= 8'} + cross-spawn@7.0.6: + resolution: {integrity: sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==} + engines: {node: '>= 8'} + crypto-random-string@4.0.0: resolution: {integrity: sha512-x8dy3RnvYdlUcPOjkEHqozhiwzKNSq7GcPuXFbnyMOCHxX8V3OgIg/pYuabl2sbUPfIJaeAQB7PMOK8DFIdoRA==} engines: {node: '>=12'} @@ -3851,6 +3860,10 @@ packages: resolution: {integrity: sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==} engines: {node: '>=8'} + fill-range@7.1.1: + resolution: {integrity: sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==} + engines: {node: '>=8'} + finalhandler@1.2.0: resolution: {integrity: sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==} engines: {node: '>= 0.8'} @@ -3894,8 +3907,8 @@ packages: debug: optional: true - foreground-child@3.1.1: - resolution: {integrity: sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==} + foreground-child@3.3.1: + resolution: {integrity: sha512-gIXjKqtFuWEgzFRJA9WCQeSJLZDjgJUOMCMzxtvFq/37KojM1BFGufqsCy0r4qSQmYLsZYMeyRqzIWOMup03sw==} engines: {node: '>=14'} fork-ts-checker-webpack-plugin@6.5.3: @@ -3986,9 +3999,8 @@ packages: glob-to-regexp@0.4.1: resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - glob@10.3.12: - resolution: {integrity: sha512-TCNv8vJ+xz4QiqTpfOJA7HvYv+tNIRHKfUWw/q+v2jdgN4ebz+KY9tGx5J4rHP0o84mNP+ApH66HRX8us3Khqg==} - engines: {node: '>=16 || 14 >=14.17'} + glob@10.4.5: + resolution: {integrity: sha512-7Bv8RF0k6xjo7d4A/PxYLbUCfb6c+Vpd2/mB2yRDlew7Jb5hEXiCD9ibfO7wpk8i4sevK6DFny9h7EYbM3/sHg==} hasBin: true glob@7.2.3: @@ -4429,9 +4441,8 @@ packages: resolution: {integrity: sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==} engines: {node: '>=0.10.0'} - jackspeak@2.3.6: - resolution: {integrity: sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==} - engines: {node: '>=14'} + jackspeak@3.4.3: + resolution: {integrity: sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==} jest-util@29.7.0: resolution: {integrity: sha512-z6EbKajIpqGKU56y5KBUgy1dt1ihhQJgWzUlZHArA/+X2ad7Cb5iF+AK1EWVL/Bo7Rz9uurpqw6SiBCefUbCGA==} @@ -4449,6 +4460,10 @@ packages: resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} hasBin: true + jiti@1.21.7: + resolution: {integrity: sha512-/imKNG4EbWNrVjoNC/1H5/9GFy+tqjGBHCaSsN+P2RnPqjsLmv6UD3Ej+Kj8nBWaRAwyk7kK5ZUc+OEatnTR3A==} + hasBin: true + joi@17.12.3: resolution: {integrity: sha512-2RRziagf555owrm9IRVtdKynOBeITiDpuZqIpgwqXShPncPKNiRQoiGsl/T8SQdq+8ugRzH2LqY67irr2y/d+g==} @@ -4542,14 +4557,14 @@ packages: resolution: {integrity: sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==} engines: {node: '>= 0.8.0'} - lilconfig@2.1.0: - resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} - engines: {node: '>=10'} - lilconfig@3.1.1: resolution: {integrity: sha512-O18pf7nyvHTckunPWCV1XUNXU1piu01y2b7ATJ0ppkUkk8ocqVWBrYjJBCwHDjD/ZWcfyrA0P4gKhzWGi5EINQ==} engines: {node: '>=14'} + lilconfig@3.1.3: + resolution: {integrity: sha512-/vlFKAoH5Cgt3Ie+JLhRbwOsCQePABiU3tJ1egGvyQ+33R/vcwM2Zl2QR/LzjsBeItPt3oSVXapn+m4nQDvpzw==} + engines: {node: '>=14'} + lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} @@ -4609,9 +4624,8 @@ packages: resolution: {integrity: sha512-ozCC6gdQ+glXOQsveKD0YsDy8DSQFjDTz4zyzEHNV5+JP5D62LmfDZ6o1cycFx9ouG940M5dE8C8CTewdj2YWQ==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} - lru-cache@10.2.0: - resolution: {integrity: sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==} - engines: {node: 14 || >=16.14} + lru-cache@10.4.3: + resolution: {integrity: sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==} lru-cache@5.1.1: resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==} @@ -4918,6 +4932,10 @@ packages: resolution: {integrity: sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==} engines: {node: '>=8.6'} + micromatch@4.0.8: + resolution: {integrity: sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==} + engines: {node: '>=8.6'} + mime-db@1.33.0: resolution: {integrity: sha512-BHJ/EKruNIqJf/QahvxwQZXKygOQ256myeN/Ew+THcAa5q+PjyTTMMeNQC4DZw5AwfvelsUrA6B67NKMqXDbzQ==} engines: {node: '>= 0.6'} @@ -4963,10 +4981,6 @@ packages: minimatch@3.1.2: resolution: {integrity: sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==} - minimatch@9.0.4: - resolution: {integrity: sha512-KqWh+VchfxcMNRAJjj2tnsSJdNbHsVgnkBhTNrW7AjVo6OvLtxw8zfT9oLw1JSohlFzJ8jCoTgaoXvJ+kHt6fw==} - engines: {node: '>=16 || 14 >=14.17'} - minimatch@9.0.5: resolution: {integrity: sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==} engines: {node: '>=16 || 14 >=14.17'} @@ -4974,8 +4988,8 @@ packages: minimist@1.2.8: resolution: {integrity: sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==} - minipass@7.0.4: - resolution: {integrity: sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==} + minipass@7.1.2: + resolution: {integrity: sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==} engines: {node: '>=16 || 14 >=14.17'} mri@1.2.0: @@ -5002,6 +5016,11 @@ packages: mz@2.7.0: resolution: {integrity: sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==} + nanoid@3.3.11: + resolution: {integrity: sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==} + engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} + hasBin: true + nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} engines: {node: ^10 || ^12 || ^13.7 || ^14 || >=15.0.1} @@ -5165,6 +5184,9 @@ packages: resolution: {integrity: sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==} engines: {node: '>=6'} + package-json-from-dist@1.0.1: + resolution: {integrity: sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==} + package-json@8.1.1: resolution: {integrity: sha512-cbH9IAIJHNj9uXi196JVsRlt7cHKak6u/e6AkL/bkRelZ7rlL3X1YKxsZwa36xipOEKAsdtmaG6aAJoM1fx2zA==} engines: {node: '>=14.16'} @@ -5237,9 +5259,9 @@ packages: path-parse@1.0.7: resolution: {integrity: sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==} - path-scurry@1.10.2: - resolution: {integrity: sha512-7xTavNy5RQXnsjANvVvMkEjvloOinkAjv/Z6Ildz9v2RinZ4SBKTWFOVRbaF8p0vpHnyjV/UwNDdKuUv6M5qcA==} - engines: {node: '>=16 || 14 >=14.17'} + path-scurry@1.11.1: + resolution: {integrity: sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==} + engines: {node: '>=16 || 14 >=14.18'} path-to-regexp@0.1.7: resolution: {integrity: sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==} @@ -5271,8 +5293,8 @@ packages: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} - pirates@4.0.6: - resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} + pirates@4.0.7: + resolution: {integrity: sha512-TfySrs/5nm8fQJDcBDuUng3VOUKsd7S+zqvbOTiGXHfxX4wK31ard+hoNuvkicM/2YFzlpDgABOevKSsB4G/FA==} engines: {node: '>= 6'} pkg-dir@7.0.0: @@ -5529,8 +5551,8 @@ packages: peerDependencies: postcss: ^8.1.0 - postcss-nested@6.0.1: - resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} + postcss-nested@6.2.0: + resolution: {integrity: sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==} engines: {node: '>=12.0'} peerDependencies: postcss: ^8.2.14 @@ -5669,6 +5691,10 @@ packages: resolution: {integrity: sha512-A0RVJrX+IUkVZbW3ClroRWurercFhieevHB38sr2+l9eUClMqome3LmEmnhlNy+5Mr2EYN6B2Kaw9wYdd+VHiw==} engines: {node: '>=4'} + postcss-selector-parser@6.1.2: + resolution: {integrity: sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==} + engines: {node: '>=4'} + postcss-selector-parser@7.0.0: resolution: {integrity: sha512-9RbEr1Y7FFfptd/1eEdntyjMwLeghW1bHX9GWjXo19vx4ytPQhANltvVxDggzJl7mnWM+dX28kb6cyS/4iQjlQ==} engines: {node: '>=4'} @@ -5704,6 +5730,10 @@ packages: resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} + postcss@8.5.3: + resolution: {integrity: sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==} + engines: {node: ^10 || ^12 || >=14} + prelude-ls@1.2.1: resolution: {integrity: sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==} engines: {node: '>= 0.8.0'} @@ -5874,10 +5904,10 @@ packages: typescript: optional: true - react-dom@18.2.0: - resolution: {integrity: sha512-6IMTriUmvsjHUjNtEDudZfuDQUoWXVxKHhlEGSk81n4YFS+r/Kl99wXiwlVXtPBtJenozv2P+hxDsw9eA7Xo6g==} + react-dom@19.1.0: + resolution: {integrity: sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==} peerDependencies: - react: ^18.2.0 + react: ^19.1.0 react-error-overlay@6.0.11: resolution: {integrity: sha512-/6UZ2qgEyH2aqzYZgQPxEnz33NJ2gNsnHA2o5+o4wW9bLM/JYQitNP9xPhsXwC08hMMovfGe/8retsdDsczPRg==} @@ -5915,22 +5945,22 @@ packages: '@types/react': '>=16' react: '>=16' - react-remove-scroll-bar@2.3.6: - resolution: {integrity: sha512-DtSYaao4mBmX+HDo5YWYdBWQwYIQQshUV/dVxFxK+KM26Wjwp1gZ6rv6OC3oujI6Bfu6Xyg3TwK533AQutsn/g==} + react-remove-scroll-bar@2.3.8: + resolution: {integrity: sha512-9r+yi9+mgU33AKcj6IbT9oRCO78WriSj6t/cF8DWBZJ9aOGPOTEDvdUDz1FwKim7QXWwmHqtdHnRJfhAxEG46Q==} engines: {node: '>=10'} peerDependencies: - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 peerDependenciesMeta: '@types/react': optional: true - react-remove-scroll@2.5.7: - resolution: {integrity: sha512-FnrTWO4L7/Bhhf3CYBNArEG/yROV0tKmTv7/3h9QCFvH6sndeFf1wPqOcbFVu5VAulS5dV1wGT3GZZ/1GawqiA==} + react-remove-scroll@2.6.3: + resolution: {integrity: sha512-pnAi91oOk8g8ABQKGF5/M9qxmmOPxaAnopyTHYfqYEwJhyFrbbBtHuSgtKEoH0jpcxx5o3hXqH1mNd9/Oi+8iQ==} engines: {node: '>=10'} peerDependencies: - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true @@ -5951,23 +5981,18 @@ packages: peerDependencies: react: '>=15' - react-style-singleton@2.2.1: - resolution: {integrity: sha512-ZWj0fHEMyWkHzKYUr2Bs/4zU6XLmq9HsgBURm7g5pAVfyn49DgUiNgY2d4lXRlYSiCif9YBGpQleewkcqddc7g==} + react-style-singleton@2.2.3: + resolution: {integrity: sha512-b6jSvxvVnyptAiLjbkWLE/lOnR4lfTtDAl+eUC7RZy+QQWc6wRzIV2CE6xBuMmDxc2qIihtDCZD5NPOFl7fRBQ==} engines: {node: '>=10'} peerDependencies: - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true - react-table@7.8.0: - resolution: {integrity: sha512-hNaz4ygkZO4bESeFfnfOft73iBUj8K5oKi1EcSHPAibEydfsX2MyU6Z8KCr3mv3C9Kqqh71U+DhZkFvibbnPbA==} - peerDependencies: - react: ^16.8.3 || ^17.0.0-0 || ^18.0.0 - - react@18.2.0: - resolution: {integrity: sha512-/3IjMdb2L9QbBdWiW5e3P2/npwMBaU9mHCSCUzNln0ZCYbcfTsGbTJrU/kGemdH2IWmB2ioZ+zkxtmq6g09fGQ==} + react@19.1.0: + resolution: {integrity: sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==} engines: {node: '>=0.10.0'} read-cache@1.0.0: @@ -6161,8 +6186,8 @@ packages: sax@1.3.0: resolution: {integrity: sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==} - scheduler@0.23.0: - resolution: {integrity: sha512-CtuThmgHNg7zIZWAXi3AsyIzA3n4xx7aNyjwC2VJldO2LMVDhFK+63xGqq6CsJH4rTAt6/M+N4GhZiDYPx9eUw==} + scheduler@0.26.0: + resolution: {integrity: sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==} schema-utils@2.7.0: resolution: {integrity: sha512-0ilKFI6QQF5nxDZLFn2dMjvc4hjg/Wkg7rHd3jK6/A4a1Hl9VFdQWvgB1UMGoU94pad1P/8N7fMcEnLnSiju8A==} @@ -6322,6 +6347,10 @@ packages: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} + source-map-js@1.2.1: + resolution: {integrity: sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==} + engines: {node: '>=0.10.0'} + source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} @@ -6459,8 +6488,8 @@ packages: '@swc/core': ^1.2.147 webpack: '>=2' - tailwindcss@3.4.3: - resolution: {integrity: sha512-U7sxQk/n397Bmx4JHbJx/iSOOv5G+II3f1kpLpY2QeUv5DcPdcTsYLlusZfq1NthHS1c1cZoyFmmkex1rzke0A==} + tailwindcss@3.4.17: + resolution: {integrity: sha512-w33E2aCvSDP0tW9RZuNXadXlkHXqFzSkQew/aIa2i/Sj8fThxwovwlXHSPXTbAHwEIhBFXAedUhP2tueAKP8Og==} engines: {node: '>=14.0.0'} hasBin: true @@ -6547,6 +6576,9 @@ packages: tslib@2.6.2: resolution: {integrity: sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==} + tslib@2.8.1: + resolution: {integrity: sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==} + tsutils@3.21.0: resolution: {integrity: sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==} engines: {node: '>= 6'} @@ -6716,22 +6748,22 @@ packages: url@0.11.3: resolution: {integrity: sha512-6hxOLGfZASQK/cijlZnZJTq8OXAkt/3YGfQX45vvMYXpZoo8NdWZcY73K108Jf759lS1Bv/8wXnHDTSz17dSRw==} - use-callback-ref@1.3.2: - resolution: {integrity: sha512-elOQwe6Q8gqZgDA8mrh44qRTQqpIHDcZ3hXTLjBe1i4ph8XpNJnO+aQf3NaG+lriLopI4HMx9VjQLfPQ6vhnoA==} + use-callback-ref@1.3.3: + resolution: {integrity: sha512-jQL3lRnocaFtu3V00JToYz/4QkNWswxijDaCVNZRiRTO3HQDLsdu1ZtmIUvV4yPp+rvWm5j0y0TG/S61cuijTg==} engines: {node: '>=10'} peerDependencies: - '@types/react': ^16.8.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true - use-sidecar@1.1.2: - resolution: {integrity: sha512-epTbsLuzZ7lPClpz2TyryBfztm7m+28DlEv2ZCQ3MDr5ssiwyOwGH/e5F9CkfWjJ1t4clvI58yF822/GUkjjhw==} + use-sidecar@1.1.3: + resolution: {integrity: sha512-Fedw0aZvkhynoPYlA5WXrMCAMm+nSWdZt6lzJQ7Ok8S6Q+VsHmHpRWndVRJ8Be0ZbkfPc5LRYH+5XrzXcEeLRQ==} engines: {node: '>=10'} peerDependencies: - '@types/react': ^16.9.0 || ^17.0.0 || ^18.0.0 - react: ^16.8.0 || ^17.0.0 || ^18.0.0 + '@types/react': '*' + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 || ^19.0.0-rc peerDependenciesMeta: '@types/react': optional: true @@ -6933,11 +6965,6 @@ packages: resolution: {integrity: sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==} engines: {node: '>= 6'} - yaml@2.4.1: - resolution: {integrity: sha512-pIXzoImaqmfOrL7teGUBt/T7ZDnyeGBWyXQBvOVhLkWLN37GXv8NMLK406UY6dS51JfcQHsmcW5cJ441bHg6Lg==} - engines: {node: '>= 14'} - hasBin: true - yaml@2.5.0: resolution: {integrity: sha512-2wWLbGbYDiSqqIKoPjar3MPgB94ErzCtrNE1FdqGuaO0pi2JGjmE8aW8TDZwzU7vuxcGRdL/4gPQwQ7hD5AMSw==} engines: {node: '>= 14'} @@ -8861,21 +8888,21 @@ snapshots: '@docsearch/css@3.8.2': {} - '@docsearch/react@3.8.2(@algolia/client-search@5.19.0)(@types/react@18.2.77)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.13.0)': + '@docsearch/react@3.8.2(@algolia/client-search@5.19.0)(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.13.0)': dependencies: '@algolia/autocomplete-core': 1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0)(search-insights@2.13.0) '@algolia/autocomplete-preset-algolia': 1.17.7(@algolia/client-search@5.19.0)(algoliasearch@5.19.0) '@docsearch/css': 3.8.2 algoliasearch: 5.19.0 optionalDependencies: - '@types/react': 18.2.77 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@types/react': 19.1.3 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) search-insights: 2.13.0 transitivePeerDependencies: - '@algolia/client-search' - '@docusaurus/babel@3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@docusaurus/babel@3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@babel/core': 7.26.0 '@babel/generator': 7.26.5 @@ -8888,7 +8915,7 @@ snapshots: '@babel/runtime-corejs3': 7.26.0 '@babel/traverse': 7.26.5 '@docusaurus/logger': 3.7.0 - '@docusaurus/utils': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) babel-plugin-dynamic-import-node: 2.3.3 fs-extra: 11.2.0 tslib: 2.6.2 @@ -8901,33 +8928,33 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/bundler@3.7.0(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2)': + '@docusaurus/bundler@3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2)': dependencies: '@babel/core': 7.26.0 - '@docusaurus/babel': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/babel': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@docusaurus/cssnano-preset': 3.7.0 '@docusaurus/logger': 3.7.0 - '@docusaurus/types': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.97.1(@swc/core@1.4.13)) + '@docusaurus/types': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + babel-loader: 9.2.1(@babel/core@7.26.0)(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))) clean-css: 5.3.3 - copy-webpack-plugin: 11.0.0(webpack@5.97.1(@swc/core@1.4.13)) - css-loader: 6.11.0(webpack@5.97.1(@swc/core@1.4.13)) - css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.97.1(@swc/core@1.4.13)) + copy-webpack-plugin: 11.0.0(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))) + css-loader: 6.11.0(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))) + css-minimizer-webpack-plugin: 5.0.1(clean-css@5.3.3)(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))) cssnano: 6.1.2(postcss@8.4.38) - file-loader: 6.2.0(webpack@5.97.1(@swc/core@1.4.13)) + file-loader: 6.2.0(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))) html-minifier-terser: 7.2.0 - mini-css-extract-plugin: 2.9.2(webpack@5.97.1(@swc/core@1.4.13)) - null-loader: 4.0.1(webpack@5.97.1(@swc/core@1.4.13)) + mini-css-extract-plugin: 2.9.2(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))) + null-loader: 4.0.1(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))) postcss: 8.4.38 - postcss-loader: 7.3.4(postcss@8.4.38)(typescript@5.2.2)(webpack@5.97.1(@swc/core@1.4.13)) + postcss-loader: 7.3.4(postcss@8.4.38)(typescript@5.2.2)(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))) postcss-preset-env: 10.1.3(postcss@8.4.38) - react-dev-utils: 12.0.1(eslint@8.57.0)(typescript@5.2.2)(webpack@5.97.1(@swc/core@1.4.13)) - terser-webpack-plugin: 5.3.10(@swc/core@1.4.13)(webpack@5.97.1(@swc/core@1.4.13)) + react-dev-utils: 12.0.1(eslint@8.57.0)(typescript@5.2.2)(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))) + terser-webpack-plugin: 5.3.10(@swc/core@1.4.13(@swc/helpers@0.5.17))(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))) tslib: 2.6.2 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.91.0(@swc/core@1.4.13)))(webpack@5.97.1(@swc/core@1.4.13)) - webpack: 5.97.1(@swc/core@1.4.13) - webpackbar: 6.0.1(webpack@5.97.1(@swc/core@1.4.13)) + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.91.0(@swc/core@1.4.13(@swc/helpers@0.5.17))))(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))) + webpack: 5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17)) + webpackbar: 6.0.1(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))) transitivePeerDependencies: - '@parcel/css' - '@rspack/core' @@ -8945,16 +8972,16 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/core@3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2)': + '@docusaurus/core@3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2)': dependencies: - '@docusaurus/babel': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/bundler': 3.7.0(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) + '@docusaurus/babel': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/bundler': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2) '@docusaurus/logger': 3.7.0 - '@docusaurus/mdx-loader': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-common': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@mdx-js/react': 3.0.1(@types/react@18.2.77)(react@18.2.0) + '@docusaurus/mdx-loader': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-common': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mdx-js/react': 3.1.0(@types/react@19.1.3)(react@19.1.0) boxen: 6.2.1 chalk: 4.1.2 chokidar: 3.6.0 @@ -8969,28 +8996,28 @@ snapshots: eval: 0.1.8 fs-extra: 11.2.0 html-tags: 3.3.1 - html-webpack-plugin: 5.6.0(webpack@5.97.1(@swc/core@1.4.13)) + html-webpack-plugin: 5.6.0(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))) leven: 3.1.0 lodash: 4.17.21 p-map: 4.0.0 prompts: 2.4.2 - react: 18.2.0 - react-dev-utils: 12.0.1(eslint@8.57.0)(typescript@5.2.2)(webpack@5.97.1(@swc/core@1.4.13)) - react-dom: 18.2.0(react@18.2.0) - react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)' - react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.2.0)' - react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@18.2.0))(webpack@5.97.1(@swc/core@1.4.13)) - react-router: 5.3.4(react@18.2.0) - react-router-config: 5.1.1(react-router@5.3.4(react@18.2.0))(react@18.2.0) - react-router-dom: 5.3.4(react@18.2.0) + react: 19.1.0 + react-dev-utils: 12.0.1(eslint@8.57.0)(typescript@5.2.2)(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))) + react-dom: 19.1.0(react@19.1.0) + react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)' + react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.1.0)' + react-loadable-ssr-addon-v5-slorber: 1.0.1(@docusaurus/react-loadable@6.0.0(react@19.1.0))(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))) + react-router: 5.3.4(react@19.1.0) + react-router-config: 5.1.1(react-router@5.3.4(react@19.1.0))(react@19.1.0) + react-router-dom: 5.3.4(react@19.1.0) semver: 7.6.0 serve-handler: 6.1.6 shelljs: 0.8.5 tslib: 2.6.2 update-notifier: 6.0.2 - webpack: 5.97.1(@swc/core@1.4.13) + webpack: 5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17)) webpack-bundle-analyzer: 4.10.2 - webpack-dev-server: 4.15.2(webpack@5.97.1(@swc/core@1.4.13)) + webpack-dev-server: 4.15.2(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))) webpack-merge: 6.0.1 transitivePeerDependencies: - '@docusaurus/faster' @@ -9016,29 +9043,29 @@ snapshots: cssnano-preset-advanced: 6.1.2(postcss@8.4.38) postcss: 8.4.38 postcss-sort-media-queries: 5.2.0(postcss@8.4.38) - tslib: 2.6.2 + tslib: 2.8.1 '@docusaurus/logger@3.7.0': dependencies: chalk: 4.1.2 tslib: 2.6.2 - '@docusaurus/mdx-loader@3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@docusaurus/mdx-loader@3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@docusaurus/logger': 3.7.0 - '@docusaurus/utils': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@mdx-js/mdx': 3.0.1 '@slorber/remark-comment': 1.0.0 escape-html: 1.0.3 estree-util-value-to-estree: 3.1.1 - file-loader: 6.2.0(webpack@5.97.1(@swc/core@1.4.13)) + file-loader: 6.2.0(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))) fs-extra: 11.2.0 image-size: 1.1.1 mdast-util-mdx: 3.0.0 mdast-util-to-string: 4.0.0 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) rehype-raw: 7.0.0 remark-directive: 3.0.0 remark-emoji: 4.0.1 @@ -9048,9 +9075,9 @@ snapshots: tslib: 2.6.2 unified: 11.0.4 unist-util-visit: 5.0.0 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.91.0(@swc/core@1.4.13)))(webpack@5.97.1(@swc/core@1.4.13)) + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.91.0(@swc/core@1.4.13(@swc/helpers@0.5.17))))(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))) vfile: 6.0.1 - webpack: 5.97.1(@swc/core@1.4.13) + webpack: 5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17)) transitivePeerDependencies: - '@swc/core' - esbuild @@ -9058,17 +9085,17 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/module-type-aliases@3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@docusaurus/module-type-aliases@3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@docusaurus/types': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/types': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@types/history': 4.7.11 - '@types/react': 18.2.77 + '@types/react': 19.1.3 '@types/react-router-config': 5.0.11 '@types/react-router-dom': 5.3.3 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)' - react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.2.0)' + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)' + react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.1.0)' transitivePeerDependencies: - '@swc/core' - esbuild @@ -9076,29 +9103,29 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/plugin-content-blog@3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2))(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2)': + '@docusaurus/plugin-content-blog@3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2))(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2) '@docusaurus/logger': 3.7.0 - '@docusaurus/mdx-loader': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/plugin-content-docs': 3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) - '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2))(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/types': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-common': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/mdx-loader': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/plugin-content-docs': 3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2) + '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2))(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/types': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-common': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) cheerio: 1.0.0-rc.12 feed: 4.2.2 fs-extra: 11.2.0 lodash: 4.17.21 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) reading-time: 1.5.0 srcset: 4.0.0 tslib: 2.6.2 unist-util-visit: 5.0.0 utility-types: 3.11.0 - webpack: 5.91.0(@swc/core@1.4.13) + webpack: 5.91.0(@swc/core@1.4.13(@swc/helpers@0.5.17)) transitivePeerDependencies: - '@docusaurus/faster' - '@mdx-js/react' @@ -9119,27 +9146,27 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2)': + '@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2) '@docusaurus/logger': 3.7.0 - '@docusaurus/mdx-loader': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/module-type-aliases': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2))(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/types': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-common': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/mdx-loader': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/module-type-aliases': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2))(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/types': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-common': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@types/react-router-config': 5.0.11 combine-promises: 1.2.0 fs-extra: 11.2.0 js-yaml: 4.1.0 lodash: 4.17.21 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) tslib: 2.6.2 utility-types: 3.11.0 - webpack: 5.91.0(@swc/core@1.4.13) + webpack: 5.91.0(@swc/core@1.4.13(@swc/helpers@0.5.17)) transitivePeerDependencies: - '@docusaurus/faster' - '@mdx-js/react' @@ -9160,18 +9187,18 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-content-pages@3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2)': + '@docusaurus/plugin-content-pages@3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) - '@docusaurus/mdx-loader': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/types': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2) + '@docusaurus/mdx-loader': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/types': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) fs-extra: 11.2.0 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) tslib: 2.6.2 - webpack: 5.91.0(@swc/core@1.4.13) + webpack: 5.91.0(@swc/core@1.4.13(@swc/helpers@0.5.17)) transitivePeerDependencies: - '@docusaurus/faster' - '@mdx-js/react' @@ -9192,15 +9219,15 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-debug@3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2)': + '@docusaurus/plugin-debug@3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) - '@docusaurus/types': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2) + '@docusaurus/types': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) fs-extra: 11.2.0 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-json-view-lite: 1.3.0(react@18.2.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-json-view-lite: 1.3.0(react@19.1.0) tslib: 2.6.2 transitivePeerDependencies: - '@docusaurus/faster' @@ -9222,13 +9249,13 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-analytics@3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2)': + '@docusaurus/plugin-google-analytics@3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) - '@docusaurus/types': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2) + '@docusaurus/types': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) tslib: 2.6.2 transitivePeerDependencies: - '@docusaurus/faster' @@ -9250,14 +9277,14 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-gtag@3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2)': + '@docusaurus/plugin-google-gtag@3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) - '@docusaurus/types': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2) + '@docusaurus/types': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@types/gtag.js': 0.0.12 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) tslib: 2.6.2 transitivePeerDependencies: - '@docusaurus/faster' @@ -9279,13 +9306,13 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-google-tag-manager@3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2)': + '@docusaurus/plugin-google-tag-manager@3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) - '@docusaurus/types': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2) + '@docusaurus/types': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) tslib: 2.6.2 transitivePeerDependencies: - '@docusaurus/faster' @@ -9307,17 +9334,17 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-sitemap@3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2)': + '@docusaurus/plugin-sitemap@3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2) '@docusaurus/logger': 3.7.0 - '@docusaurus/types': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-common': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/types': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-common': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) fs-extra: 11.2.0 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) sitemap: 7.1.1 tslib: 2.6.2 transitivePeerDependencies: @@ -9340,18 +9367,18 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/plugin-svgr@3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2)': + '@docusaurus/plugin-svgr@3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) - '@docusaurus/types': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2) + '@docusaurus/types': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@svgr/core': 8.1.0(typescript@5.2.2) '@svgr/webpack': 8.1.0(typescript@5.2.2) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) tslib: 2.6.2 - webpack: 5.91.0(@swc/core@1.4.13) + webpack: 5.91.0(@swc/core@1.4.13(@swc/helpers@0.5.17)) transitivePeerDependencies: - '@docusaurus/faster' - '@mdx-js/react' @@ -9372,24 +9399,24 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/preset-classic@3.7.0(@algolia/client-search@5.19.0)(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(@types/react@18.2.77)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.13.0)(typescript@5.2.2)': - dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) - '@docusaurus/plugin-content-blog': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2))(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) - '@docusaurus/plugin-content-docs': 3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) - '@docusaurus/plugin-content-pages': 3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) - '@docusaurus/plugin-debug': 3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) - '@docusaurus/plugin-google-analytics': 3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) - '@docusaurus/plugin-google-gtag': 3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) - '@docusaurus/plugin-google-tag-manager': 3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) - '@docusaurus/plugin-sitemap': 3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) - '@docusaurus/plugin-svgr': 3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) - '@docusaurus/theme-classic': 3.7.0(@swc/core@1.4.13)(@types/react@18.2.77)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) - '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2))(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/theme-search-algolia': 3.7.0(@algolia/client-search@5.19.0)(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(@types/react@18.2.77)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.13.0)(typescript@5.2.2) - '@docusaurus/types': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@docusaurus/preset-classic@3.7.0(@algolia/client-search@5.19.0)(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(@types/react@19.1.3)(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.13.0)(typescript@5.2.2)': + dependencies: + '@docusaurus/core': 3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2) + '@docusaurus/plugin-content-blog': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2))(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2) + '@docusaurus/plugin-content-docs': 3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2) + '@docusaurus/plugin-content-pages': 3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2) + '@docusaurus/plugin-debug': 3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2) + '@docusaurus/plugin-google-analytics': 3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2) + '@docusaurus/plugin-google-gtag': 3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2) + '@docusaurus/plugin-google-tag-manager': 3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2) + '@docusaurus/plugin-sitemap': 3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2) + '@docusaurus/plugin-svgr': 3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2) + '@docusaurus/theme-classic': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(@types/react@19.1.3)(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2) + '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2))(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/theme-search-algolia': 3.7.0(@algolia/client-search@5.19.0)(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(@types/react@19.1.3)(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.13.0)(typescript@5.2.2) + '@docusaurus/types': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) transitivePeerDependencies: - '@algolia/client-search' - '@docusaurus/faster' @@ -9413,38 +9440,38 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/react-loadable@6.0.0(react@18.2.0)': + '@docusaurus/react-loadable@6.0.0(react@19.1.0)': dependencies: - '@types/react': 18.2.77 - react: 18.2.0 + '@types/react': 19.1.3 + react: 19.1.0 - '@docusaurus/theme-classic@3.7.0(@swc/core@1.4.13)(@types/react@18.2.77)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2)': + '@docusaurus/theme-classic@3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(@types/react@19.1.3)(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2)': dependencies: - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2) '@docusaurus/logger': 3.7.0 - '@docusaurus/mdx-loader': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/module-type-aliases': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/plugin-content-blog': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2))(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) - '@docusaurus/plugin-content-docs': 3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) - '@docusaurus/plugin-content-pages': 3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) - '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2))(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/mdx-loader': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/module-type-aliases': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/plugin-content-blog': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2))(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2) + '@docusaurus/plugin-content-docs': 3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2) + '@docusaurus/plugin-content-pages': 3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2) + '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2))(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@docusaurus/theme-translations': 3.7.0 - '@docusaurus/types': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-common': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@mdx-js/react': 3.0.1(@types/react@18.2.77)(react@18.2.0) + '@docusaurus/types': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-common': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@mdx-js/react': 3.1.0(@types/react@19.1.3)(react@19.1.0) clsx: 2.1.0 copy-text-to-clipboard: 3.2.0 infima: 0.2.0-alpha.45 lodash: 4.17.21 nprogress: 0.2.0 postcss: 8.4.38 - prism-react-renderer: 2.3.1(react@18.2.0) + prism-react-renderer: 2.3.1(react@19.1.0) prismjs: 1.29.0 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-router-dom: 5.3.4(react@18.2.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-router-dom: 5.3.4(react@19.1.0) rtlcss: 4.1.1 tslib: 2.6.2 utility-types: 3.11.0 @@ -9468,21 +9495,21 @@ snapshots: - vue-template-compiler - webpack-cli - '@docusaurus/theme-common@3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2))(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@docusaurus/theme-common@3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2))(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@docusaurus/mdx-loader': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/module-type-aliases': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/plugin-content-docs': 3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) - '@docusaurus/utils': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-common': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/mdx-loader': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/module-type-aliases': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/plugin-content-docs': 3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2) + '@docusaurus/utils': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-common': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@types/history': 4.7.11 - '@types/react': 18.2.77 + '@types/react': 19.1.3 '@types/react-router-config': 5.0.11 clsx: 2.1.0 parse-numeric-range: 1.3.0 - prism-react-renderer: 2.3.1(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + prism-react-renderer: 2.3.1(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) tslib: 2.6.2 utility-types: 3.11.0 transitivePeerDependencies: @@ -9492,24 +9519,24 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/theme-search-algolia@3.7.0(@algolia/client-search@5.19.0)(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(@types/react@18.2.77)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.13.0)(typescript@5.2.2)': + '@docusaurus/theme-search-algolia@3.7.0(@algolia/client-search@5.19.0)(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(@types/react@19.1.3)(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.13.0)(typescript@5.2.2)': dependencies: - '@docsearch/react': 3.8.2(@algolia/client-search@5.19.0)(@types/react@18.2.77)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(search-insights@2.13.0) - '@docusaurus/core': 3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) + '@docsearch/react': 3.8.2(@algolia/client-search@5.19.0)(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(search-insights@2.13.0) + '@docusaurus/core': 3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2) '@docusaurus/logger': 3.7.0 - '@docusaurus/plugin-content-docs': 3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2) - '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0))(@swc/core@1.4.13)(eslint@8.57.0)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)(typescript@5.2.2))(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/plugin-content-docs': 3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2) + '@docusaurus/theme-common': 3.7.0(@docusaurus/plugin-content-docs@3.7.0(@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0))(@swc/core@1.4.13(@swc/helpers@0.5.17))(eslint@8.57.0)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)(typescript@5.2.2))(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) '@docusaurus/theme-translations': 3.7.0 - '@docusaurus/utils': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-validation': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-validation': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) algoliasearch: 5.19.0 algoliasearch-helper: 3.22.6(algoliasearch@5.19.0) clsx: 2.1.0 eta: 2.2.0 fs-extra: 11.2.0 lodash: 4.17.21 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) tslib: 2.6.2 utility-types: 3.11.0 transitivePeerDependencies: @@ -9538,22 +9565,22 @@ snapshots: '@docusaurus/theme-translations@3.7.0': dependencies: fs-extra: 11.2.0 - tslib: 2.6.2 + tslib: 2.8.1 '@docusaurus/tsconfig@3.7.0': {} - '@docusaurus/types@3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@docusaurus/types@3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@mdx-js/mdx': 3.0.1 '@types/history': 4.7.11 - '@types/react': 18.2.77 + '@types/react': 19.1.3 commander: 5.1.0 joi: 17.12.3 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)' + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-helmet-async: '@slorber/react-helmet-async@1.3.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)' utility-types: 3.11.0 - webpack: 5.97.1(@swc/core@1.4.13) + webpack: 5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17)) webpack-merge: 5.10.0 transitivePeerDependencies: - '@swc/core' @@ -9562,9 +9589,9 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/utils-common@3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@docusaurus/utils-common@3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@docusaurus/types': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/types': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) tslib: 2.6.2 transitivePeerDependencies: - '@swc/core' @@ -9575,11 +9602,11 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/utils-validation@3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@docusaurus/utils-validation@3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@docusaurus/logger': 3.7.0 - '@docusaurus/utils': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-common': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/utils': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-common': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) fs-extra: 11.2.0 joi: 17.12.3 js-yaml: 4.1.0 @@ -9594,13 +9621,13 @@ snapshots: - uglify-js - webpack-cli - '@docusaurus/utils@3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@docusaurus/utils@3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@docusaurus/logger': 3.7.0 - '@docusaurus/types': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@docusaurus/utils-common': 3.7.0(@swc/core@1.4.13)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@docusaurus/types': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@docusaurus/utils-common': 3.7.0(@swc/core@1.4.13(@swc/helpers@0.5.17))(react-dom@19.1.0(react@19.1.0))(react@19.1.0) escape-string-regexp: 4.0.0 - file-loader: 6.2.0(webpack@5.97.1(@swc/core@1.4.13)) + file-loader: 6.2.0(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))) fs-extra: 11.2.0 github-slugger: 1.5.0 globby: 11.1.0 @@ -9613,9 +9640,9 @@ snapshots: resolve-pathname: 3.0.0 shelljs: 0.8.5 tslib: 2.6.2 - url-loader: 4.1.1(file-loader@6.2.0(webpack@5.91.0(@swc/core@1.4.13)))(webpack@5.97.1(@swc/core@1.4.13)) + url-loader: 4.1.1(file-loader@6.2.0(webpack@5.91.0(@swc/core@1.4.13(@swc/helpers@0.5.17))))(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))) utility-types: 3.11.0 - webpack: 5.97.1(@swc/core@1.4.13) + webpack: 5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17)) transitivePeerDependencies: - '@swc/core' - esbuild @@ -9652,26 +9679,26 @@ snapshots: '@floating-ui/core@1.6.0': dependencies: - '@floating-ui/utils': 0.2.1 + '@floating-ui/utils': 0.2.9 '@floating-ui/dom@1.6.3': dependencies: '@floating-ui/core': 1.6.0 - '@floating-ui/utils': 0.2.1 + '@floating-ui/utils': 0.2.9 - '@floating-ui/react-dom@2.0.8(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@floating-ui/react-dom@2.1.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@floating-ui/dom': 1.6.3 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) - '@floating-ui/utils@0.2.1': {} + '@floating-ui/utils@0.2.9': {} - '@fluentui/react-icons@2.0.235(react@18.2.0)': + '@fluentui/react-icons@2.0.300(react@19.1.0)': dependencies: - '@griffel/react': 1.5.21(react@18.2.0) - react: 18.2.0 - tslib: 2.6.2 + '@griffel/react': 1.5.21(react@19.1.0) + react: 19.1.0 + tslib: 2.8.1 '@griffel/core@1.15.3': dependencies: @@ -9680,13 +9707,13 @@ snapshots: csstype: 3.1.3 rtl-css-js: 1.16.1 stylis: 4.3.1 - tslib: 2.6.2 + tslib: 2.8.1 - '@griffel/react@1.5.21(react@18.2.0)': + '@griffel/react@1.5.21(react@19.1.0)': dependencies: '@griffel/core': 1.15.3 - react: 18.2.0 - tslib: 2.6.2 + react: 19.1.0 + tslib: 2.8.1 '@griffel/style-types@1.0.4': dependencies: @@ -9698,13 +9725,6 @@ snapshots: dependencies: '@hapi/hoek': 9.3.0 - '@headlessui/react@1.7.18(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@tanstack/react-virtual': 3.2.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - client-only: 0.0.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - '@humanwhocodes/config-array@0.11.14': dependencies: '@humanwhocodes/object-schema': 2.0.3 @@ -9791,11 +9811,11 @@ snapshots: transitivePeerDependencies: - supports-color - '@mdx-js/react@3.0.1(@types/react@18.2.77)(react@18.2.0)': + '@mdx-js/react@3.1.0(@types/react@19.1.3)(react@19.1.0)': dependencies: '@types/mdx': 2.0.13 - '@types/react': 18.2.77 - react: 18.2.0 + '@types/react': 19.1.3 + react: 19.1.0 '@nodelib/fs.scandir@2.1.5': dependencies: @@ -9826,206 +9846,214 @@ snapshots: '@polka/url@1.0.0-next.25': {} - '@radix-ui/number@1.1.0': {} + '@radix-ui/number@1.1.1': {} - '@radix-ui/primitive@1.1.0': {} + '@radix-ui/primitive@1.1.2': {} - '@radix-ui/react-arrow@1.1.0(@types/react@18.2.77)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-arrow@1.1.6(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.77)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@radix-ui/react-primitive': 2.1.2(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) optionalDependencies: - '@types/react': 18.2.77 + '@types/react': 19.1.3 - '@radix-ui/react-collection@1.1.0(@types/react@18.2.77)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-collection@1.1.6(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.77)(react@18.2.0) - '@radix-ui/react-context': 1.1.0(@types/react@18.2.77)(react@18.2.0) - '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.77)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-slot': 1.1.0(@types/react@18.2.77)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.3)(react@19.1.0) + '@radix-ui/react-primitive': 2.1.2(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-slot': 1.2.2(@types/react@19.1.3)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) optionalDependencies: - '@types/react': 18.2.77 + '@types/react': 19.1.3 - '@radix-ui/react-compose-refs@1.1.0(@types/react@18.2.77)(react@18.2.0)': + '@radix-ui/react-compose-refs@1.1.2(@types/react@19.1.3)(react@19.1.0)': dependencies: - react: 18.2.0 + react: 19.1.0 optionalDependencies: - '@types/react': 18.2.77 + '@types/react': 19.1.3 - '@radix-ui/react-context@1.1.0(@types/react@18.2.77)(react@18.2.0)': + '@radix-ui/react-context@1.1.2(@types/react@19.1.3)(react@19.1.0)': dependencies: - react: 18.2.0 + react: 19.1.0 optionalDependencies: - '@types/react': 18.2.77 + '@types/react': 19.1.3 - '@radix-ui/react-direction@1.1.0(@types/react@18.2.77)(react@18.2.0)': + '@radix-ui/react-direction@1.1.1(@types/react@19.1.3)(react@19.1.0)': dependencies: - react: 18.2.0 + react: 19.1.0 optionalDependencies: - '@types/react': 18.2.77 + '@types/react': 19.1.3 - '@radix-ui/react-dismissable-layer@1.1.0(@types/react@18.2.77)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-dismissable-layer@1.1.9(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.77)(react@18.2.0) - '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.77)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.77)(react@18.2.0) - '@radix-ui/react-use-escape-keydown': 1.1.0(@types/react@18.2.77)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.1.0) + '@radix-ui/react-primitive': 2.1.2(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.3)(react@19.1.0) + '@radix-ui/react-use-escape-keydown': 1.1.1(@types/react@19.1.3)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) optionalDependencies: - '@types/react': 18.2.77 + '@types/react': 19.1.3 - '@radix-ui/react-focus-guards@1.1.0(@types/react@18.2.77)(react@18.2.0)': + '@radix-ui/react-focus-guards@1.1.2(@types/react@19.1.3)(react@19.1.0)': dependencies: - react: 18.2.0 + react: 19.1.0 optionalDependencies: - '@types/react': 18.2.77 + '@types/react': 19.1.3 - '@radix-ui/react-focus-scope@1.1.0(@types/react@18.2.77)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-focus-scope@1.1.6(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.77)(react@18.2.0) - '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.77)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.77)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.1.0) + '@radix-ui/react-primitive': 2.1.2(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.3)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) optionalDependencies: - '@types/react': 18.2.77 + '@types/react': 19.1.3 - '@radix-ui/react-id@1.1.0(@types/react@18.2.77)(react@18.2.0)': + '@radix-ui/react-id@1.1.1(@types/react@19.1.3)(react@19.1.0)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.77)(react@18.2.0) - react: 18.2.0 + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.3)(react@19.1.0) + react: 19.1.0 optionalDependencies: - '@types/react': 18.2.77 - - '@radix-ui/react-popper@1.2.0(@types/react@18.2.77)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@floating-ui/react-dom': 2.0.8(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-arrow': 1.1.0(@types/react@18.2.77)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.77)(react@18.2.0) - '@radix-ui/react-context': 1.1.0(@types/react@18.2.77)(react@18.2.0) - '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.77)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.77)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.77)(react@18.2.0) - '@radix-ui/react-use-rect': 1.1.0(@types/react@18.2.77)(react@18.2.0) - '@radix-ui/react-use-size': 1.1.0(@types/react@18.2.77)(react@18.2.0) - '@radix-ui/rect': 1.1.0 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@types/react': 19.1.3 + + '@radix-ui/react-popper@1.2.6(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@floating-ui/react-dom': 2.1.2(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-arrow': 1.1.6(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.3)(react@19.1.0) + '@radix-ui/react-primitive': 2.1.2(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.3)(react@19.1.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.3)(react@19.1.0) + '@radix-ui/react-use-rect': 1.1.1(@types/react@19.1.3)(react@19.1.0) + '@radix-ui/react-use-size': 1.1.1(@types/react@19.1.3)(react@19.1.0) + '@radix-ui/rect': 1.1.1 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) optionalDependencies: - '@types/react': 18.2.77 + '@types/react': 19.1.3 - '@radix-ui/react-portal@1.1.1(@types/react@18.2.77)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-portal@1.1.8(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.77)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.77)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@radix-ui/react-primitive': 2.1.2(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.3)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) optionalDependencies: - '@types/react': 18.2.77 + '@types/react': 19.1.3 - '@radix-ui/react-primitive@2.0.0(@types/react@18.2.77)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-primitive@2.1.2(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@radix-ui/react-slot': 1.1.0(@types/react@18.2.77)(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@radix-ui/react-slot': 1.2.2(@types/react@19.1.3)(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) optionalDependencies: - '@types/react': 18.2.77 - - '@radix-ui/react-select@2.1.1(@types/react@18.2.77)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': - dependencies: - '@radix-ui/number': 1.1.0 - '@radix-ui/primitive': 1.1.0 - '@radix-ui/react-collection': 1.1.0(@types/react@18.2.77)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.77)(react@18.2.0) - '@radix-ui/react-context': 1.1.0(@types/react@18.2.77)(react@18.2.0) - '@radix-ui/react-direction': 1.1.0(@types/react@18.2.77)(react@18.2.0) - '@radix-ui/react-dismissable-layer': 1.1.0(@types/react@18.2.77)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-focus-guards': 1.1.0(@types/react@18.2.77)(react@18.2.0) - '@radix-ui/react-focus-scope': 1.1.0(@types/react@18.2.77)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-id': 1.1.0(@types/react@18.2.77)(react@18.2.0) - '@radix-ui/react-popper': 1.2.0(@types/react@18.2.77)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-portal': 1.1.1(@types/react@18.2.77)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.77)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - '@radix-ui/react-slot': 1.1.0(@types/react@18.2.77)(react@18.2.0) - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.77)(react@18.2.0) - '@radix-ui/react-use-controllable-state': 1.1.0(@types/react@18.2.77)(react@18.2.0) - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.77)(react@18.2.0) - '@radix-ui/react-use-previous': 1.1.0(@types/react@18.2.77)(react@18.2.0) - '@radix-ui/react-visually-hidden': 1.1.0(@types/react@18.2.77)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) + '@types/react': 19.1.3 + + '@radix-ui/react-select@2.2.4(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': + dependencies: + '@radix-ui/number': 1.1.1 + '@radix-ui/primitive': 1.1.2 + '@radix-ui/react-collection': 1.1.6(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.1.0) + '@radix-ui/react-context': 1.1.2(@types/react@19.1.3)(react@19.1.0) + '@radix-ui/react-direction': 1.1.1(@types/react@19.1.3)(react@19.1.0) + '@radix-ui/react-dismissable-layer': 1.1.9(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-focus-guards': 1.1.2(@types/react@19.1.3)(react@19.1.0) + '@radix-ui/react-focus-scope': 1.1.6(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-id': 1.1.1(@types/react@19.1.3)(react@19.1.0) + '@radix-ui/react-popper': 1.2.6(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-portal': 1.1.8(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-primitive': 2.1.2(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + '@radix-ui/react-slot': 1.2.2(@types/react@19.1.3)(react@19.1.0) + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.3)(react@19.1.0) + '@radix-ui/react-use-controllable-state': 1.2.2(@types/react@19.1.3)(react@19.1.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.3)(react@19.1.0) + '@radix-ui/react-use-previous': 1.1.1(@types/react@19.1.3)(react@19.1.0) + '@radix-ui/react-visually-hidden': 1.2.2(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) aria-hidden: 1.2.4 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) - react-remove-scroll: 2.5.7(@types/react@18.2.77)(react@18.2.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) + react-remove-scroll: 2.6.3(@types/react@19.1.3)(react@19.1.0) + optionalDependencies: + '@types/react': 19.1.3 + + '@radix-ui/react-slot@1.2.2(@types/react@19.1.3)(react@19.1.0)': + dependencies: + '@radix-ui/react-compose-refs': 1.1.2(@types/react@19.1.3)(react@19.1.0) + react: 19.1.0 optionalDependencies: - '@types/react': 18.2.77 + '@types/react': 19.1.3 - '@radix-ui/react-slot@1.1.0(@types/react@18.2.77)(react@18.2.0)': + '@radix-ui/react-use-callback-ref@1.1.1(@types/react@19.1.3)(react@19.1.0)': dependencies: - '@radix-ui/react-compose-refs': 1.1.0(@types/react@18.2.77)(react@18.2.0) - react: 18.2.0 + react: 19.1.0 optionalDependencies: - '@types/react': 18.2.77 + '@types/react': 19.1.3 - '@radix-ui/react-use-callback-ref@1.1.0(@types/react@18.2.77)(react@18.2.0)': + '@radix-ui/react-use-controllable-state@1.2.2(@types/react@19.1.3)(react@19.1.0)': dependencies: - react: 18.2.0 + '@radix-ui/react-use-effect-event': 0.0.2(@types/react@19.1.3)(react@19.1.0) + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.3)(react@19.1.0) + react: 19.1.0 optionalDependencies: - '@types/react': 18.2.77 + '@types/react': 19.1.3 - '@radix-ui/react-use-controllable-state@1.1.0(@types/react@18.2.77)(react@18.2.0)': + '@radix-ui/react-use-effect-event@0.0.2(@types/react@19.1.3)(react@19.1.0)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.77)(react@18.2.0) - react: 18.2.0 + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.3)(react@19.1.0) + react: 19.1.0 optionalDependencies: - '@types/react': 18.2.77 + '@types/react': 19.1.3 - '@radix-ui/react-use-escape-keydown@1.1.0(@types/react@18.2.77)(react@18.2.0)': + '@radix-ui/react-use-escape-keydown@1.1.1(@types/react@19.1.3)(react@19.1.0)': dependencies: - '@radix-ui/react-use-callback-ref': 1.1.0(@types/react@18.2.77)(react@18.2.0) - react: 18.2.0 + '@radix-ui/react-use-callback-ref': 1.1.1(@types/react@19.1.3)(react@19.1.0) + react: 19.1.0 optionalDependencies: - '@types/react': 18.2.77 + '@types/react': 19.1.3 - '@radix-ui/react-use-layout-effect@1.1.0(@types/react@18.2.77)(react@18.2.0)': + '@radix-ui/react-use-layout-effect@1.1.1(@types/react@19.1.3)(react@19.1.0)': dependencies: - react: 18.2.0 + react: 19.1.0 optionalDependencies: - '@types/react': 18.2.77 + '@types/react': 19.1.3 - '@radix-ui/react-use-previous@1.1.0(@types/react@18.2.77)(react@18.2.0)': + '@radix-ui/react-use-previous@1.1.1(@types/react@19.1.3)(react@19.1.0)': dependencies: - react: 18.2.0 + react: 19.1.0 optionalDependencies: - '@types/react': 18.2.77 + '@types/react': 19.1.3 - '@radix-ui/react-use-rect@1.1.0(@types/react@18.2.77)(react@18.2.0)': + '@radix-ui/react-use-rect@1.1.1(@types/react@19.1.3)(react@19.1.0)': dependencies: - '@radix-ui/rect': 1.1.0 - react: 18.2.0 + '@radix-ui/rect': 1.1.1 + react: 19.1.0 optionalDependencies: - '@types/react': 18.2.77 + '@types/react': 19.1.3 - '@radix-ui/react-use-size@1.1.0(@types/react@18.2.77)(react@18.2.0)': + '@radix-ui/react-use-size@1.1.1(@types/react@19.1.3)(react@19.1.0)': dependencies: - '@radix-ui/react-use-layout-effect': 1.1.0(@types/react@18.2.77)(react@18.2.0) - react: 18.2.0 + '@radix-ui/react-use-layout-effect': 1.1.1(@types/react@19.1.3)(react@19.1.0) + react: 19.1.0 optionalDependencies: - '@types/react': 18.2.77 + '@types/react': 19.1.3 - '@radix-ui/react-visually-hidden@1.1.0(@types/react@18.2.77)(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@radix-ui/react-visually-hidden@1.2.2(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@radix-ui/react-primitive': 2.0.0(@types/react@18.2.77)(react-dom@18.2.0(react@18.2.0))(react@18.2.0) - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@radix-ui/react-primitive': 2.1.2(@types/react@19.1.3)(react-dom@19.1.0(react@19.1.0))(react@19.1.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) optionalDependencies: - '@types/react': 18.2.77 + '@types/react': 19.1.3 - '@radix-ui/rect@1.1.0': {} + '@radix-ui/rect@1.1.1': {} '@shikijs/core@1.14.1': dependencies: @@ -10045,13 +10073,13 @@ snapshots: '@sindresorhus/is@5.6.0': {} - '@slorber/react-helmet-async@1.3.0(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@slorber/react-helmet-async@1.3.0(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: '@babel/runtime': 7.27.1 invariant: 2.2.4 prop-types: 15.8.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) react-fast-compare: 3.2.2 shallowequal: 1.1.0 @@ -10184,7 +10212,7 @@ snapshots: '@swc/core-win32-x64-msvc@1.4.13': optional: true - '@swc/core@1.4.13': + '@swc/core@1.4.13(@swc/helpers@0.5.17)': dependencies: '@swc/counter': 0.1.3 '@swc/types': 0.1.6 @@ -10199,9 +10227,15 @@ snapshots: '@swc/core-win32-arm64-msvc': 1.4.13 '@swc/core-win32-ia32-msvc': 1.4.13 '@swc/core-win32-x64-msvc': 1.4.13 + '@swc/helpers': 0.5.17 '@swc/counter@0.1.3': {} + '@swc/helpers@0.5.17': + dependencies: + tslib: 2.8.1 + optional: true + '@swc/types@0.1.6': dependencies: '@swc/counter': 0.1.3 @@ -10210,13 +10244,13 @@ snapshots: dependencies: defer-to-connect: 2.0.1 - '@tanstack/react-virtual@3.2.1(react-dom@18.2.0(react@18.2.0))(react@18.2.0)': + '@tanstack/react-table@8.21.3(react-dom@19.1.0(react@19.1.0))(react@19.1.0)': dependencies: - '@tanstack/virtual-core': 3.2.1 - react: 18.2.0 - react-dom: 18.2.0(react@18.2.0) + '@tanstack/table-core': 8.21.3 + react: 19.1.0 + react-dom: 19.1.0(react@19.1.0) - '@tanstack/virtual-core@3.2.1': {} + '@tanstack/table-core@8.21.3': {} '@trysound/sax@0.2.0': {} @@ -10351,23 +10385,22 @@ snapshots: '@types/react-router-config@5.0.11': dependencies: '@types/history': 4.7.11 - '@types/react': 18.2.77 + '@types/react': 19.1.3 '@types/react-router': 5.1.20 '@types/react-router-dom@5.3.3': dependencies: '@types/history': 4.7.11 - '@types/react': 18.2.77 + '@types/react': 19.1.3 '@types/react-router': 5.1.20 '@types/react-router@5.1.20': dependencies: '@types/history': 4.7.11 - '@types/react': 18.2.77 + '@types/react': 19.1.3 - '@types/react@18.2.77': + '@types/react@19.1.3': dependencies: - '@types/prop-types': 15.7.12 csstype: 3.1.3 '@types/retry@0.12.0': {} @@ -10770,7 +10803,7 @@ snapshots: aria-hidden@1.2.4: dependencies: - tslib: 2.6.2 + tslib: 2.8.1 array-flatten@1.1.1: {} @@ -10790,12 +10823,12 @@ snapshots: postcss: 8.4.38 postcss-value-parser: 4.2.0 - babel-loader@9.2.1(@babel/core@7.26.0)(webpack@5.97.1(@swc/core@1.4.13)): + babel-loader@9.2.1(@babel/core@7.26.0)(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))): dependencies: '@babel/core': 7.26.0 find-cache-dir: 4.0.0 schema-utils: 4.2.0 - webpack: 5.97.1(@swc/core@1.4.13) + webpack: 5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17)) babel-plugin-dynamic-import-node@2.3.3: dependencies: @@ -10920,6 +10953,10 @@ snapshots: dependencies: fill-range: 7.0.1 + braces@3.0.3: + dependencies: + fill-range: 7.1.1 + browserslist@4.23.0: dependencies: caniuse-lite: 1.0.30001717 @@ -10970,7 +11007,7 @@ snapshots: camel-case@4.1.2: dependencies: pascal-case: 3.1.2 - tslib: 2.6.2 + tslib: 2.8.1 camelcase-css@2.0.1: {} @@ -11063,8 +11100,6 @@ snapshots: optionalDependencies: '@colors/colors': 1.5.0 - client-only@0.0.1: {} - clone-deep@4.0.1: dependencies: is-plain-object: 2.0.4 @@ -11162,7 +11197,7 @@ snapshots: copy-text-to-clipboard@3.2.0: {} - copy-webpack-plugin@11.0.0(webpack@5.97.1(@swc/core@1.4.13)): + copy-webpack-plugin@11.0.0(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))): dependencies: fast-glob: 3.3.2 glob-parent: 6.0.2 @@ -11170,7 +11205,7 @@ snapshots: normalize-path: 3.0.0 schema-utils: 4.2.0 serialize-javascript: 6.0.2 - webpack: 5.97.1(@swc/core@1.4.13) + webpack: 5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17)) core-js-compat@3.36.1: dependencies: @@ -11217,6 +11252,12 @@ snapshots: shebang-command: 2.0.0 which: 2.0.2 + cross-spawn@7.0.6: + dependencies: + path-key: 3.1.1 + shebang-command: 2.0.0 + which: 2.0.2 + crypto-random-string@4.0.0: dependencies: type-fest: 1.4.0 @@ -11237,7 +11278,7 @@ snapshots: postcss-selector-parser: 7.0.0 postcss-value-parser: 4.2.0 - css-loader@6.11.0(webpack@5.97.1(@swc/core@1.4.13)): + css-loader@6.11.0(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))): dependencies: icss-utils: 5.1.0(postcss@8.4.38) postcss: 8.4.38 @@ -11248,9 +11289,9 @@ snapshots: postcss-value-parser: 4.2.0 semver: 7.6.0 optionalDependencies: - webpack: 5.97.1(@swc/core@1.4.13) + webpack: 5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17)) - css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(webpack@5.97.1(@swc/core@1.4.13)): + css-minimizer-webpack-plugin@5.0.1(clean-css@5.3.3)(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))): dependencies: '@jridgewell/trace-mapping': 0.3.25 cssnano: 6.1.2(postcss@8.4.38) @@ -11258,7 +11299,7 @@ snapshots: postcss: 8.4.38 schema-utils: 4.2.0 serialize-javascript: 6.0.2 - webpack: 5.97.1(@swc/core@1.4.13) + webpack: 5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17)) optionalDependencies: clean-css: 5.3.3 @@ -11462,9 +11503,9 @@ snapshots: dependencies: esutils: 2.0.3 - docusaurus-plugin-drawio@0.4.0(webpack@5.91.0(@swc/core@1.4.13)): + docusaurus-plugin-drawio@0.4.0(webpack@5.91.0(@swc/core@1.4.13(@swc/helpers@0.5.17))): dependencies: - raw-loader: 4.0.2(webpack@5.91.0(@swc/core@1.4.13)) + raw-loader: 4.0.2(webpack@5.91.0(@swc/core@1.4.13(@swc/helpers@0.5.17))) transitivePeerDependencies: - webpack @@ -11813,18 +11854,18 @@ snapshots: dependencies: flat-cache: 3.2.0 - file-loader@6.2.0(webpack@5.91.0(@swc/core@1.4.13)): + file-loader@6.2.0(webpack@5.91.0(@swc/core@1.4.13(@swc/helpers@0.5.17))): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.91.0(@swc/core@1.4.13) + webpack: 5.91.0(@swc/core@1.4.13(@swc/helpers@0.5.17)) optional: true - file-loader@6.2.0(webpack@5.97.1(@swc/core@1.4.13)): + file-loader@6.2.0(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.97.1(@swc/core@1.4.13) + webpack: 5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17)) filesize@8.0.7: {} @@ -11832,6 +11873,10 @@ snapshots: dependencies: to-regex-range: 5.0.1 + fill-range@7.1.1: + dependencies: + to-regex-range: 5.0.1 + finalhandler@1.2.0: dependencies: debug: 2.6.9 @@ -11879,12 +11924,12 @@ snapshots: follow-redirects@1.15.6: {} - foreground-child@3.1.1: + foreground-child@3.3.1: dependencies: - cross-spawn: 7.0.3 + cross-spawn: 7.0.6 signal-exit: 4.1.0 - fork-ts-checker-webpack-plugin@6.5.3(eslint@8.57.0)(typescript@5.2.2)(webpack@5.97.1(@swc/core@1.4.13)): + fork-ts-checker-webpack-plugin@6.5.3(eslint@8.57.0)(typescript@5.2.2)(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))): dependencies: '@babel/code-frame': 7.24.2 '@types/json-schema': 7.0.15 @@ -11900,7 +11945,7 @@ snapshots: semver: 7.6.0 tapable: 1.1.3 typescript: 5.2.2 - webpack: 5.97.1(@swc/core@1.4.13) + webpack: 5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17)) optionalDependencies: eslint: 8.57.0 @@ -11964,13 +12009,14 @@ snapshots: glob-to-regexp@0.4.1: {} - glob@10.3.12: + glob@10.4.5: dependencies: - foreground-child: 3.1.1 - jackspeak: 2.3.6 - minimatch: 9.0.4 - minipass: 7.0.4 - path-scurry: 1.10.2 + foreground-child: 3.3.1 + jackspeak: 3.4.3 + minimatch: 9.0.5 + minipass: 7.1.2 + package-json-from-dist: 1.0.1 + path-scurry: 1.11.1 glob@7.2.3: dependencies: @@ -12254,7 +12300,7 @@ snapshots: html-void-elements@3.0.0: {} - html-webpack-plugin@5.6.0(webpack@5.97.1(@swc/core@1.4.13)): + html-webpack-plugin@5.6.0(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))): dependencies: '@types/html-minifier-terser': 6.1.0 html-minifier-terser: 6.1.0 @@ -12262,7 +12308,7 @@ snapshots: pretty-error: 4.0.0 tapable: 2.2.1 optionalDependencies: - webpack: 5.97.1(@swc/core@1.4.13) + webpack: 5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17)) htmlparser2@6.1.0: dependencies: @@ -12478,7 +12524,7 @@ snapshots: isobject@3.0.1: {} - jackspeak@2.3.6: + jackspeak@3.4.3: dependencies: '@isaacs/cliui': 8.0.2 optionalDependencies: @@ -12508,6 +12554,8 @@ snapshots: jiti@1.21.0: {} + jiti@1.21.7: {} + joi@17.12.3: dependencies: '@hapi/hoek': 9.3.0 @@ -12587,10 +12635,10 @@ snapshots: prelude-ls: 1.2.1 type-check: 0.4.0 - lilconfig@2.1.0: {} - lilconfig@3.1.1: {} + lilconfig@3.1.3: {} + lines-and-columns@1.2.4: {} linkify-it@5.0.0: @@ -12642,7 +12690,7 @@ snapshots: lowercase-keys@3.0.0: {} - lru-cache@10.2.0: {} + lru-cache@10.4.3: {} lru-cache@5.1.1: dependencies: @@ -13357,6 +13405,11 @@ snapshots: braces: 3.0.2 picomatch: 2.3.1 + micromatch@4.0.8: + dependencies: + braces: 3.0.3 + picomatch: 2.3.1 + mime-db@1.33.0: {} mime-db@1.52.0: {} @@ -13377,11 +13430,11 @@ snapshots: mimic-response@4.0.0: {} - mini-css-extract-plugin@2.9.2(webpack@5.97.1(@swc/core@1.4.13)): + mini-css-extract-plugin@2.9.2(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))): dependencies: schema-utils: 4.2.0 tapable: 2.2.1 - webpack: 5.97.1(@swc/core@1.4.13) + webpack: 5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17)) minimalistic-assert@1.0.1: {} @@ -13389,17 +13442,13 @@ snapshots: dependencies: brace-expansion: 1.1.11 - minimatch@9.0.4: - dependencies: - brace-expansion: 2.0.1 - minimatch@9.0.5: dependencies: brace-expansion: 2.0.1 minimist@1.2.8: {} - minipass@7.0.4: {} + minipass@7.1.2: {} mri@1.2.0: {} @@ -13422,6 +13471,8 @@ snapshots: object-assign: 4.1.1 thenify-all: 1.6.0 + nanoid@3.3.11: {} + nanoid@3.3.7: {} natural-compare-lite@1.4.0: {} @@ -13468,11 +13519,11 @@ snapshots: dependencies: boolbase: 1.0.0 - null-loader@4.0.1(webpack@5.97.1(@swc/core@1.4.13)): + null-loader@4.0.1(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.97.1(@swc/core@1.4.13) + webpack: 5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17)) object-assign@4.1.1: {} @@ -13566,6 +13617,8 @@ snapshots: p-try@2.2.0: {} + package-json-from-dist@1.0.1: {} + package-json@8.1.1: dependencies: got: 12.6.1 @@ -13653,10 +13706,10 @@ snapshots: path-parse@1.0.7: {} - path-scurry@1.10.2: + path-scurry@1.11.1: dependencies: - lru-cache: 10.2.0 - minipass: 7.0.4 + lru-cache: 10.4.3 + minipass: 7.1.2 path-to-regexp@0.1.7: {} @@ -13682,7 +13735,7 @@ snapshots: pify@2.3.0: {} - pirates@4.0.6: {} + pirates@4.0.7: {} pkg-dir@7.0.0: dependencies: @@ -13825,17 +13878,17 @@ snapshots: postcss: 8.4.38 postcss-value-parser: 4.2.0 - postcss-import@15.1.0(postcss@8.4.38): + postcss-import@15.1.0(postcss@8.5.3): dependencies: - postcss: 8.4.38 + postcss: 8.5.3 postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 - postcss-js@4.0.1(postcss@8.4.38): + postcss-js@4.0.1(postcss@8.5.3): dependencies: camelcase-css: 2.0.1 - postcss: 8.4.38 + postcss: 8.5.3 postcss-lab-function@7.0.7(postcss@8.4.38): dependencies: @@ -13846,20 +13899,20 @@ snapshots: '@csstools/utilities': 2.0.0(postcss@8.4.38) postcss: 8.4.38 - postcss-load-config@4.0.2(postcss@8.4.38): + postcss-load-config@4.0.2(postcss@8.5.3): dependencies: - lilconfig: 3.1.1 - yaml: 2.4.1 + lilconfig: 3.1.3 + yaml: 2.5.0 optionalDependencies: - postcss: 8.4.38 + postcss: 8.5.3 - postcss-loader@7.3.4(postcss@8.4.38)(typescript@5.2.2)(webpack@5.97.1(@swc/core@1.4.13)): + postcss-loader@7.3.4(postcss@8.4.38)(typescript@5.2.2)(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))): dependencies: cosmiconfig: 8.3.6(typescript@5.2.2) jiti: 1.21.0 postcss: 8.4.38 semver: 7.6.0 - webpack: 5.97.1(@swc/core@1.4.13) + webpack: 5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17)) transitivePeerDependencies: - typescript @@ -13933,10 +13986,10 @@ snapshots: icss-utils: 5.1.0(postcss@8.4.38) postcss: 8.4.38 - postcss-nested@6.0.1(postcss@8.4.38): + postcss-nested@6.2.0(postcss@8.5.3): dependencies: - postcss: 8.4.38 - postcss-selector-parser: 6.0.16 + postcss: 8.5.3 + postcss-selector-parser: 6.1.2 postcss-nesting@13.0.1(postcss@8.4.38): dependencies: @@ -14116,6 +14169,11 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 + postcss-selector-parser@6.1.2: + dependencies: + cssesc: 3.0.0 + util-deprecate: 1.0.2 + postcss-selector-parser@7.0.0: dependencies: cssesc: 3.0.0 @@ -14149,6 +14207,12 @@ snapshots: picocolors: 1.0.0 source-map-js: 1.2.0 + postcss@8.5.3: + dependencies: + nanoid: 3.3.11 + picocolors: 1.1.1 + source-map-js: 1.2.1 + prelude-ls@1.2.1: {} prettier-linter-helpers@1.0.0: @@ -14168,11 +14232,11 @@ snapshots: pretty-time@1.1.0: {} - prism-react-renderer@2.3.1(react@18.2.0): + prism-react-renderer@2.3.1(react@19.1.0): dependencies: '@types/prismjs': 1.26.3 clsx: 2.1.0 - react: 18.2.0 + react: 19.1.0 prismjs@1.29.0: {} @@ -14241,11 +14305,11 @@ snapshots: iconv-lite: 0.4.24 unpipe: 1.0.0 - raw-loader@4.0.2(webpack@5.91.0(@swc/core@1.4.13)): + raw-loader@4.0.2(webpack@5.91.0(@swc/core@1.4.13(@swc/helpers@0.5.17))): dependencies: loader-utils: 2.0.4 schema-utils: 3.3.0 - webpack: 5.91.0(@swc/core@1.4.13) + webpack: 5.91.0(@swc/core@1.4.13(@swc/helpers@0.5.17)) rc@1.2.8: dependencies: @@ -14254,7 +14318,7 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 - react-dev-utils@12.0.1(eslint@8.57.0)(typescript@5.2.2)(webpack@5.97.1(@swc/core@1.4.13)): + react-dev-utils@12.0.1(eslint@8.57.0)(typescript@5.2.2)(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))): dependencies: '@babel/code-frame': 7.24.2 address: 1.2.2 @@ -14265,7 +14329,7 @@ snapshots: escape-string-regexp: 4.0.0 filesize: 8.0.7 find-up: 5.0.0 - fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.57.0)(typescript@5.2.2)(webpack@5.97.1(@swc/core@1.4.13)) + fork-ts-checker-webpack-plugin: 6.5.3(eslint@8.57.0)(typescript@5.2.2)(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))) global-modules: 2.0.0 globby: 11.1.0 gzip-size: 6.0.0 @@ -14280,7 +14344,7 @@ snapshots: shell-quote: 1.8.1 strip-ansi: 6.0.1 text-table: 0.2.0 - webpack: 5.97.1(@swc/core@1.4.13) + webpack: 5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17)) optionalDependencies: typescript: 5.2.2 transitivePeerDependencies: @@ -14288,46 +14352,45 @@ snapshots: - supports-color - vue-template-compiler - react-dom@18.2.0(react@18.2.0): + react-dom@19.1.0(react@19.1.0): dependencies: - loose-envify: 1.4.0 - react: 18.2.0 - scheduler: 0.23.0 + react: 19.1.0 + scheduler: 0.26.0 react-error-overlay@6.0.11: {} react-fast-compare@3.2.2: {} - react-feather@2.0.10(react@18.2.0): + react-feather@2.0.10(react@19.1.0): dependencies: prop-types: 15.8.1 - react: 18.2.0 + react: 19.1.0 react-is@16.13.1: {} react-is@18.2.0: {} - react-json-view-lite@1.3.0(react@18.2.0): + react-json-view-lite@1.3.0(react@19.1.0): dependencies: - react: 18.2.0 + react: 19.1.0 - react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@6.0.0(react@18.2.0))(webpack@5.97.1(@swc/core@1.4.13)): + react-loadable-ssr-addon-v5-slorber@1.0.1(@docusaurus/react-loadable@6.0.0(react@19.1.0))(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))): dependencies: '@babel/runtime': 7.24.4 - react-loadable: '@docusaurus/react-loadable@6.0.0(react@18.2.0)' - webpack: 5.97.1(@swc/core@1.4.13) + react-loadable: '@docusaurus/react-loadable@6.0.0(react@19.1.0)' + webpack: 5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17)) - react-markdown@8.0.7(@types/react@18.2.77)(react@18.2.0): + react-markdown@8.0.7(@types/react@19.1.3)(react@19.1.0): dependencies: '@types/hast': 2.3.10 '@types/prop-types': 15.7.12 - '@types/react': 18.2.77 + '@types/react': 19.1.3 '@types/unist': 2.0.10 comma-separated-tokens: 2.0.3 hast-util-whitespace: 2.0.1 prop-types: 15.8.1 property-information: 6.5.0 - react: 18.2.0 + react: 19.1.0 react-is: 18.2.0 remark-parse: 10.0.2 remark-rehype: 10.1.0 @@ -14339,43 +14402,43 @@ snapshots: transitivePeerDependencies: - supports-color - react-remove-scroll-bar@2.3.6(@types/react@18.2.77)(react@18.2.0): + react-remove-scroll-bar@2.3.8(@types/react@19.1.3)(react@19.1.0): dependencies: - react: 18.2.0 - react-style-singleton: 2.2.1(@types/react@18.2.77)(react@18.2.0) - tslib: 2.6.2 + react: 19.1.0 + react-style-singleton: 2.2.3(@types/react@19.1.3)(react@19.1.0) + tslib: 2.8.1 optionalDependencies: - '@types/react': 18.2.77 + '@types/react': 19.1.3 - react-remove-scroll@2.5.7(@types/react@18.2.77)(react@18.2.0): + react-remove-scroll@2.6.3(@types/react@19.1.3)(react@19.1.0): dependencies: - react: 18.2.0 - react-remove-scroll-bar: 2.3.6(@types/react@18.2.77)(react@18.2.0) - react-style-singleton: 2.2.1(@types/react@18.2.77)(react@18.2.0) - tslib: 2.6.2 - use-callback-ref: 1.3.2(@types/react@18.2.77)(react@18.2.0) - use-sidecar: 1.1.2(@types/react@18.2.77)(react@18.2.0) + react: 19.1.0 + react-remove-scroll-bar: 2.3.8(@types/react@19.1.3)(react@19.1.0) + react-style-singleton: 2.2.3(@types/react@19.1.3)(react@19.1.0) + tslib: 2.8.1 + use-callback-ref: 1.3.3(@types/react@19.1.3)(react@19.1.0) + use-sidecar: 1.1.3(@types/react@19.1.3)(react@19.1.0) optionalDependencies: - '@types/react': 18.2.77 + '@types/react': 19.1.3 - react-router-config@5.1.1(react-router@5.3.4(react@18.2.0))(react@18.2.0): + react-router-config@5.1.1(react-router@5.3.4(react@19.1.0))(react@19.1.0): dependencies: '@babel/runtime': 7.24.4 - react: 18.2.0 - react-router: 5.3.4(react@18.2.0) + react: 19.1.0 + react-router: 5.3.4(react@19.1.0) - react-router-dom@5.3.4(react@18.2.0): + react-router-dom@5.3.4(react@19.1.0): dependencies: '@babel/runtime': 7.24.4 history: 4.10.1 loose-envify: 1.4.0 prop-types: 15.8.1 - react: 18.2.0 - react-router: 5.3.4(react@18.2.0) + react: 19.1.0 + react-router: 5.3.4(react@19.1.0) tiny-invariant: 1.3.3 tiny-warning: 1.0.3 - react-router@5.3.4(react@18.2.0): + react-router@5.3.4(react@19.1.0): dependencies: '@babel/runtime': 7.24.4 history: 4.10.1 @@ -14383,27 +14446,20 @@ snapshots: loose-envify: 1.4.0 path-to-regexp: 1.8.0 prop-types: 15.8.1 - react: 18.2.0 + react: 19.1.0 react-is: 16.13.1 tiny-invariant: 1.3.3 tiny-warning: 1.0.3 - react-style-singleton@2.2.1(@types/react@18.2.77)(react@18.2.0): + react-style-singleton@2.2.3(@types/react@19.1.3)(react@19.1.0): dependencies: get-nonce: 1.0.1 - invariant: 2.2.4 - react: 18.2.0 - tslib: 2.6.2 + react: 19.1.0 + tslib: 2.8.1 optionalDependencies: - '@types/react': 18.2.77 - - react-table@7.8.0(react@18.2.0): - dependencies: - react: 18.2.0 + '@types/react': 19.1.3 - react@18.2.0: - dependencies: - loose-envify: 1.4.0 + react@19.1.0: {} read-cache@1.0.0: dependencies: @@ -14646,7 +14702,7 @@ snapshots: rtl-css-js@1.16.1: dependencies: - '@babel/runtime': 7.24.4 + '@babel/runtime': 7.27.1 rtlcss@4.1.1: dependencies: @@ -14671,9 +14727,7 @@ snapshots: sax@1.3.0: {} - scheduler@0.23.0: - dependencies: - loose-envify: 1.4.0 + scheduler@0.26.0: {} schema-utils@2.7.0: dependencies: @@ -14856,7 +14910,7 @@ snapshots: snake-case@3.0.4: dependencies: dot-case: 3.0.4 - tslib: 2.6.2 + tslib: 2.8.1 sockjs@0.3.24: dependencies: @@ -14868,6 +14922,8 @@ snapshots: source-map-js@1.2.0: {} + source-map-js@1.2.1: {} + source-map-support@0.5.21: dependencies: buffer-from: 1.1.2 @@ -14982,10 +15038,10 @@ snapshots: dependencies: '@jridgewell/gen-mapping': 0.3.5 commander: 4.1.1 - glob: 10.3.12 + glob: 10.4.5 lines-and-columns: 1.2.4 mz: 2.7.0 - pirates: 4.0.6 + pirates: 4.0.7 ts-interface-checker: 0.1.13 supports-color@5.5.0: @@ -15014,13 +15070,13 @@ snapshots: csso: 5.0.5 picocolors: 1.0.0 - swc-loader@0.2.6(@swc/core@1.4.13)(webpack@5.91.0(@swc/core@1.4.13)): + swc-loader@0.2.6(@swc/core@1.4.13(@swc/helpers@0.5.17))(webpack@5.91.0(@swc/core@1.4.13(@swc/helpers@0.5.17))): dependencies: - '@swc/core': 1.4.13 + '@swc/core': 1.4.13(@swc/helpers@0.5.17) '@swc/counter': 0.1.3 - webpack: 5.91.0(@swc/core@1.4.13) + webpack: 5.91.0(@swc/core@1.4.13(@swc/helpers@0.5.17)) - tailwindcss@3.4.3: + tailwindcss@3.4.17: dependencies: '@alloc/quick-lru': 5.2.0 arg: 5.0.2 @@ -15030,18 +15086,18 @@ snapshots: fast-glob: 3.3.2 glob-parent: 6.0.2 is-glob: 4.0.3 - jiti: 1.21.0 - lilconfig: 2.1.0 - micromatch: 4.0.5 + jiti: 1.21.7 + lilconfig: 3.1.3 + micromatch: 4.0.8 normalize-path: 3.0.0 object-hash: 3.0.0 - picocolors: 1.0.0 - postcss: 8.4.38 - postcss-import: 15.1.0(postcss@8.4.38) - postcss-js: 4.0.1(postcss@8.4.38) - postcss-load-config: 4.0.2(postcss@8.4.38) - postcss-nested: 6.0.1(postcss@8.4.38) - postcss-selector-parser: 6.0.16 + picocolors: 1.1.1 + postcss: 8.5.3 + postcss-import: 15.1.0(postcss@8.5.3) + postcss-js: 4.0.1(postcss@8.5.3) + postcss-load-config: 4.0.2(postcss@8.5.3) + postcss-nested: 6.2.0(postcss@8.5.3) + postcss-selector-parser: 6.1.2 resolve: 1.22.8 sucrase: 3.35.0 transitivePeerDependencies: @@ -15051,27 +15107,27 @@ snapshots: tapable@2.2.1: {} - terser-webpack-plugin@5.3.10(@swc/core@1.4.13)(webpack@5.91.0(@swc/core@1.4.13)): + terser-webpack-plugin@5.3.10(@swc/core@1.4.13(@swc/helpers@0.5.17))(webpack@5.91.0(@swc/core@1.4.13(@swc/helpers@0.5.17))): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.30.3 - webpack: 5.91.0(@swc/core@1.4.13) + webpack: 5.91.0(@swc/core@1.4.13(@swc/helpers@0.5.17)) optionalDependencies: - '@swc/core': 1.4.13 + '@swc/core': 1.4.13(@swc/helpers@0.5.17) - terser-webpack-plugin@5.3.10(@swc/core@1.4.13)(webpack@5.97.1(@swc/core@1.4.13)): + terser-webpack-plugin@5.3.10(@swc/core@1.4.13(@swc/helpers@0.5.17))(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))): dependencies: '@jridgewell/trace-mapping': 0.3.25 jest-worker: 27.5.1 schema-utils: 3.3.0 serialize-javascript: 6.0.2 terser: 5.30.3 - webpack: 5.97.1(@swc/core@1.4.13) + webpack: 5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17)) optionalDependencies: - '@swc/core': 1.4.13 + '@swc/core': 1.4.13(@swc/helpers@0.5.17) terser@5.30.3: dependencies: @@ -15120,6 +15176,8 @@ snapshots: tslib@2.6.2: {} + tslib@2.8.1: {} + tsutils@3.21.0(typescript@5.2.2): dependencies: tslib: 1.14.1 @@ -15301,34 +15359,34 @@ snapshots: dependencies: punycode: 2.3.1 - url-loader@4.1.1(file-loader@6.2.0(webpack@5.91.0(@swc/core@1.4.13)))(webpack@5.97.1(@swc/core@1.4.13)): + url-loader@4.1.1(file-loader@6.2.0(webpack@5.91.0(@swc/core@1.4.13(@swc/helpers@0.5.17))))(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))): dependencies: loader-utils: 2.0.4 mime-types: 2.1.35 schema-utils: 3.3.0 - webpack: 5.97.1(@swc/core@1.4.13) + webpack: 5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17)) optionalDependencies: - file-loader: 6.2.0(webpack@5.91.0(@swc/core@1.4.13)) + file-loader: 6.2.0(webpack@5.91.0(@swc/core@1.4.13(@swc/helpers@0.5.17))) url@0.11.3: dependencies: punycode: 1.4.1 qs: 6.12.0 - use-callback-ref@1.3.2(@types/react@18.2.77)(react@18.2.0): + use-callback-ref@1.3.3(@types/react@19.1.3)(react@19.1.0): dependencies: - react: 18.2.0 - tslib: 2.6.2 + react: 19.1.0 + tslib: 2.8.1 optionalDependencies: - '@types/react': 18.2.77 + '@types/react': 19.1.3 - use-sidecar@1.1.2(@types/react@18.2.77)(react@18.2.0): + use-sidecar@1.1.3(@types/react@19.1.3)(react@19.1.0): dependencies: detect-node-es: 1.1.0 - react: 18.2.0 - tslib: 2.6.2 + react: 19.1.0 + tslib: 2.8.1 optionalDependencies: - '@types/react': 18.2.77 + '@types/react': 19.1.3 util-deprecate@1.0.2: {} @@ -15408,16 +15466,16 @@ snapshots: - bufferutil - utf-8-validate - webpack-dev-middleware@5.3.4(webpack@5.97.1(@swc/core@1.4.13)): + webpack-dev-middleware@5.3.4(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))): dependencies: colorette: 2.0.20 memfs: 3.5.3 mime-types: 2.1.35 range-parser: 1.2.1 schema-utils: 4.2.0 - webpack: 5.97.1(@swc/core@1.4.13) + webpack: 5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17)) - webpack-dev-server@4.15.2(webpack@5.97.1(@swc/core@1.4.13)): + webpack-dev-server@4.15.2(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))): dependencies: '@types/bonjour': 3.5.13 '@types/connect-history-api-fallback': 1.5.4 @@ -15447,10 +15505,10 @@ snapshots: serve-index: 1.9.1 sockjs: 0.3.24 spdy: 4.0.2 - webpack-dev-middleware: 5.3.4(webpack@5.97.1(@swc/core@1.4.13)) + webpack-dev-middleware: 5.3.4(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))) ws: 8.16.0 optionalDependencies: - webpack: 5.97.1(@swc/core@1.4.13) + webpack: 5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17)) transitivePeerDependencies: - bufferutil - debug @@ -15471,7 +15529,7 @@ snapshots: webpack-sources@3.2.3: {} - webpack@5.91.0(@swc/core@1.4.13): + webpack@5.91.0(@swc/core@1.4.13(@swc/helpers@0.5.17)): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.5 @@ -15494,7 +15552,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.4.13)(webpack@5.91.0(@swc/core@1.4.13)) + terser-webpack-plugin: 5.3.10(@swc/core@1.4.13(@swc/helpers@0.5.17))(webpack@5.91.0(@swc/core@1.4.13(@swc/helpers@0.5.17))) watchpack: 2.4.1 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -15502,7 +15560,7 @@ snapshots: - esbuild - uglify-js - webpack@5.97.1(@swc/core@1.4.13): + webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17)): dependencies: '@types/eslint-scope': 3.7.7 '@types/estree': 1.0.6 @@ -15524,7 +15582,7 @@ snapshots: neo-async: 2.6.2 schema-utils: 3.3.0 tapable: 2.2.1 - terser-webpack-plugin: 5.3.10(@swc/core@1.4.13)(webpack@5.97.1(@swc/core@1.4.13)) + terser-webpack-plugin: 5.3.10(@swc/core@1.4.13(@swc/helpers@0.5.17))(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))) watchpack: 2.4.1 webpack-sources: 3.2.3 transitivePeerDependencies: @@ -15532,7 +15590,7 @@ snapshots: - esbuild - uglify-js - webpackbar@6.0.1(webpack@5.97.1(@swc/core@1.4.13)): + webpackbar@6.0.1(webpack@5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17))): dependencies: ansi-escapes: 4.3.2 chalk: 4.1.2 @@ -15541,7 +15599,7 @@ snapshots: markdown-table: 2.0.0 pretty-time: 1.1.0 std-env: 3.7.0 - webpack: 5.97.1(@swc/core@1.4.13) + webpack: 5.97.1(@swc/core@1.4.13(@swc/helpers@0.5.17)) wrap-ansi: 7.0.0 websocket-driver@0.7.4: @@ -15603,8 +15661,6 @@ snapshots: yaml@1.10.2: {} - yaml@2.4.1: {} - yaml@2.5.0: {} yocto-queue@0.1.0: {} diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml new file mode 100644 index 00000000..7e8a3674 --- /dev/null +++ b/pnpm-workspace.yaml @@ -0,0 +1,4 @@ +onlyBuiltDependencies: + - '@swc/core' + - core-js + - core-js-pure diff --git a/src/components/PesterDataTable/PesterDataTable.js b/src/components/PesterDataTable/PesterDataTable.js index 3b538bfb..d24c3961 100644 --- a/src/components/PesterDataTable/PesterDataTable.js +++ b/src/components/PesterDataTable/PesterDataTable.js @@ -11,75 +11,63 @@ // // import React from "react"; -import { useTable, useSortBy } from "react-table"; +import { flexRender, useReactTable, getCoreRowModel, getSortedRowModel } from '@tanstack/react-table' import "./style.css"; -// create a default prop getter -const defaultPropGetter = () => ({}); - // our pester.dev specific react-table const PesterDataTable = ({ columns, data, - getHeaderProps = defaultPropGetter, - getColumnProps = defaultPropGetter }) => { - const { - getTableProps, - getTableBodyProps, - headerGroups, - rows, - prepareRow - } = useTable( + const table = useReactTable( { columns, data, + getCoreRowModel: getCoreRowModel(), + getSortedRowModel: getSortedRowModel(), }, - useSortBy ); // Render the UI for your table return ( - +
    - {headerGroups.map(headerGroup => ( - - {headerGroup.headers.map(column => ( + {table.getHeaderGroups().map(headerGroup => ( + + {headerGroup.headers.map(header => ( ))} ))} - - {rows.map((row, i) => { - prepareRow(row); + + {table.getRowModel().rows.map((row, i) => { return ( - - {row.cells.map(cell => { + + {row.getVisibleCells().map(cell => { return ( ); })} diff --git a/src/components/PesterDataTable/style.css b/src/components/PesterDataTable/style.css index d6f57cd3..6b665d7e 100644 --- a/src/components/PesterDataTable/style.css +++ b/src/components/PesterDataTable/style.css @@ -6,6 +6,10 @@ text-align: right; } +.pester-data-table.nowrap { + white-space: nowrap; +} + .pester-data-table, .pester-data-table.center { text-align: center; } diff --git a/src/components/homepage/GuidesAndSamples.tsx b/src/components/homepage/GuidesAndSamples.tsx index 6727b664..ed21df80 100644 --- a/src/components/homepage/GuidesAndSamples.tsx +++ b/src/components/homepage/GuidesAndSamples.tsx @@ -23,16 +23,10 @@ interface Guide { const guides: Guide[] = [ { - title: 'Getting started with easifemBase', + title: 'Getting started with easifemBase and easifemClasses', icon: CodeCircleRegular, - text: 'Quick installation of easifemBase and run some sample programs.', - link: '/guides/getting-started/easifemBase', - }, - { - title: 'Getting started with easifemClasses', - icon: CubeRegular, - text: 'Quick installation of easifemClasses and run some sample programs.', - link: '/guides/getting-started/easifemClasses', + text: 'Quick installation of easifemBase, easifemClasses, and run some sample programs.', + link: '/guides/getting-started', }, { title: 'A simple 💫 Hello World 🚀 program',
    - {column.render("Header")} - {column.isSorted ? (column.isSortedDesc ? ' â–¼' : ' â–²') : ''} + {flexRender(header.column.columnDef.header, header.getContext())} + {{ + asc: ' â–²', + desc: ' â–¼', + }[header.column.getIsSorted()] ?? ''}
    - {cell.render("Cell")} + {flexRender( + cell.column.columnDef.cell, + cell.getContext() + )}