<?xml version="1.0" encoding="UTF-8" ?><OAI-PMH xmlns="http://www.openarchives.org/OAI/2.0/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.openarchives.org/OAI/2.0/ http://www.openarchives.org/OAI/2.0/OAI-PMH.xsd"><responseDate>2026-08-05T07:53:53Z</responseDate><request identifier="10.35097/1275" metadataPrefix="datacite" verb="GetRecord">https://www.radar-service.eu/oai/OAIHandler</request><GetRecord><record><header><identifier>10.35097/1275</identifier><datestamp>2023-11-15T14:45:26Z</datestamp><setSpec>radar4kit</setSpec></header><metadata><resource xmlns="http://datacite.org/schema/kernel-4"
          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          xsi:schemaLocation="http://datacite.org/schema/kernel-4 https://schema.datacite.org/meta/kernel-4.4/metadata.xsd">
   <identifier identifierType="DOI">10.35097/1275</identifier>
   <creators>
      <creator>
         <creatorName>Freese, Jan Philip</creatorName>
         <givenName>Jan Philip</givenName>
         <familyName>Freese</familyName>
         <affiliation/>
      </creator>
   </creators>
   <titles>
      <title>Numerical experiments to "Numerical homogenization of time-dependent Maxwell's equations with dispersion effects"</title>
   </titles>
   <publisher>Karlsruhe Institute of Technology</publisher>
   <dates>
      <date dateType="Created">2020</date>
   </dates>
   <publicationYear>2023</publicationYear>
   <subjects>
      <subject>Mathematics</subject>
      <subject>Maxwell equations</subject>
      <subject>Sobolev equation</subject>
      <subject>time-integration</subject>
      <subject>homogenization</subject>
      <subject>heterogeneous multiscale method</subject>
      <subject>recursive convolution</subject>
      <subject>memory variable</subject>
   </subjects>
   <resourceType resourceTypeGeneral="Dataset"/>
   <rightsList>
      <rights rightsURI="info:eu-repo/semantics/openAccess">Open Access</rights>
      <rights schemeURI="https://spdx.org/licenses/"
              rightsIdentifierScheme="SPDX"
              rightsIdentifier="CC-BY-NC-SA-4.0"
              rightsURI="https://creativecommons.org/licenses/by-nc-sa/4.0/legalcode">Creative Commons Attribution Non Commercial Share Alike 4.0 International</rights>
   </rightsList>
   <contributors>
      <contributor contributorType="RightsHolder">
         <contributorName>Freese, Jan Philip</contributorName>
      </contributor>
   </contributors>
   <descriptions>
      <description descriptionType="Abstract">This code has been used for the numerical experiments in the thesis "Numerical homogenization of time-dependent Maxwell's equations with dispersion effects" by Jan Philip Freese, see https://www.doi.org/10.5445/IR/1000129214.</description>
      <description descriptionType="TechnicalInfo"># Readme&#xD;
This code was used for the numerical experiments of the PhD thesis "Numerical homogenization of time-dependent Maxwell's equations with dispersion effects" by P. Freese (cf. Section 7.2, Section 7.3) https://www.doi.org/10.5445/IR/1000129214. &#xD;
The computations are done in C++ using the Finite Element library deal.II.&#xD;
&#xD;
## Requirements&#xD;
- In order to run the code you need **deal.II** (release 9.1.1), cf. https://www.dealii.org/9.1.1&#xD;
- For the experiments on the macroscopic level (Section 7.3) you need to compile deal.II using **Trilinos** (version 12.17) and **p4est** (version 2.2), cf. https://www.dealii.org/9.1.1/external-libs/trilinos.html and https://www.dealii.org/9.1.1/external-libs/p4est.html&#xD;
- To get the full functionality of the scripts a **Bash** shell has to be used and at least **cmake** (version 3.13.0) is needed&#xD;
- For the visualization of the data you need **Matlab** (version R2020a Update 2) and **Paraview** (version 5.8.1-RC1)&#xD;
&#xD;
## Structure&#xD;
The structure is as follows: &#xD;
&#xD;
- The folder **executables** contains Bash scripts for all figures and tables separately. All figures from Section 7.2 may be computed using the `compute_all_micro_figures_and_tables.sh` at ones. Similarly, the figures from Section 7.3 are computed using the `compute_all_macro_figures_and_tables.sh` script. Moreover, the `distclean.sh` script runs the `deal.II` distclean command in all programs.&#xD;
- The folder **matlab_plot_files** contains Matlab scripts for the convergence plots and related tables&#xD;
- The folder **paraview_plot_files** contains Paraview states to generate the solution plots&#xD;
- In **programs** the actual source code is stored within three different programs that are&#xD;
    - **hmm_for_Maxwell_conductivity_memory_variable:** Code that applies the Heterogeneous Multiscale Method combined with the memory variable technique as explained in Section 6.2.3&#xD;
    - **hmm_for_Maxwell_conductivity_recursive_convolution:** Code that applies the Heterogeneous Multiscale Method combined with the recursive convolution technique as explained in Section 6.2.2&#xD;
    - **microproblem_conductivity:** Code that solves the microscopic cell problems&#xD;
- In **results** the results of the computations are stored according to the sub structure of the **programs** folder&#xD;
&#xD;
&#xD;
## Howto&#xD;
In order to run the program, open a terminal session in the folder **executables** and run one of the Bash scripts providing at least the additional argument:&#xD;
&#xD;
-  **Number of kernels (-n)**: One should usually use one job for each processor core on the machine&#xD;
&#xD;
Use a command like&#xD;
&#xD;
```bash&#xD;
    bash figure*.sh -n number_of_kernels&#xD;
```&#xD;
It may be mandatory to provide the location of your deal.II installation as well. This is done by providing another argument:&#xD;
&#xD;
-  **Path to deal (-D)**: Path to the deal.II installation&#xD;
&#xD;
Use a command like&#xD;
&#xD;
```bash&#xD;
    bash figure*.sh -n number_of_kernels -D path_to_deal&#xD;
```&#xD;
&#xD;
If you can not execute the Bash scripts, you have to build the program and copy/edit the config/source files yourself.  Still, the necessary information is found in the bash scripts, so just use a text editor to open those files and execute the steps by hand.&#xD;
&#xD;
### Example&#xD;
If you unpack this code within the **examples** folder of **deal.II** you can simply use the following example code to run the Bash script (generating data for Figure 7.2 and Table 7.1 with 4 kernels)&#xD;
&#xD;
```bash&#xD;
    bash figure_7_2_table_7_1.sh -n 4 -D ../../../../&#xD;
``` &#xD;
## Visualization&#xD;
&#xD;
### Matlab&#xD;
The Matlab scripts are used to generate the plots and tables. The tables are directly prompted to the Matlab output.&#xD;
&#xD;
### Paraview&#xD;
To load the state files in Paraview, select `File-&gt;Load State...`. Select the respective `.pvsm` file of the figure you want to plot. As `Load State Data File Options` choose `Search files under specified directory` and select the `results` folder. Paraview should find the files itself.&#xD;
&#xD;
## Remarks&#xD;
- The scripts `figure_7_19_table_7_9.sh` and `figure_7_21_table_7_10.sh` save reference solutions that are used to compute the errors between different levels of refinement. These solutions are stored in `programs/hmm_for_Maxwell_conductivity_recursive_convolution/data/`. If you want to run these scripts a second time you either have to delete the solutions (and compute the solutions again) or you have to set the `Output.Reference_Solution` flag in the respective config file in `programs/hmm_for_Maxwell_conductivity_recursive_convolution/config_files/` to false (which makes the computation even faster).&#xD;
- Be aware that, depending on your computer, the computations may take several hours or days.</description>
   </descriptions>
   <alternateIdentifiers>
      <alternateIdentifier alternateIdentifierType="KITopen-DOI">10.5445/IR/1000129217</alternateIdentifier>
   </alternateIdentifiers>
   <sizes>
      <size/>
   </sizes>
   <formats>
      <format>application/x-tar</format>
   </formats>
</resource></metadata></record></GetRecord></OAI-PMH>