Skip to main content

This website only uses technically necessary cookies. They will be deleted at the latest when you close your browser. To learn more, please read our Privacy Policy.

DE EN
Login
Logo, to home
  1. You are here:
  2. Numerical experiments to "Numerical homogenization of time-dependent Maxwell's equations with dispersion effects"
...

    Dataset: Numerical experiments to "Numerical homogenization of time-dependent Maxwell's equations with dispersion effects"

    • RADAR Metadata
    • Content
    • Statistics
    • Technical Metadata
    Alternate identifier:
    (KITopen-DOI) 10.5445/IR/1000129217
    Related identifier:
    -
    Creator/Author:
    Freese, Jan Philip [Freese, Jan Philip]
    Contributors:
    -
    Title:
    Numerical experiments to "Numerical homogenization of time-dependent Maxwell's equations with dispersion effects"
    Additional titles:
    -
    Description:
    (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.

    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.


    (Technical Remarks) # Readme 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. The computations are done in C++ using the Fini... # Readme 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. The computations are done in C++ using the Finite Element library deal.II. ## Requirements - In order to run the code you need **deal.II** (release 9.1.1), cf. https://www.dealii.org/9.1.1 - 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 - 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 - For the visualization of the data you need **Matlab** (version R2020a Update 2) and **Paraview** (version 5.8.1-RC1) ## Structure The structure is as follows: - 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. - The folder **matlab_plot_files** contains Matlab scripts for the convergence plots and related tables - The folder **paraview_plot_files** contains Paraview states to generate the solution plots - In **programs** the actual source code is stored within three different programs that are - **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 - **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 - **microproblem_conductivity:** Code that solves the microscopic cell problems - In **results** the results of the computations are stored according to the sub structure of the **programs** folder ## Howto 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: - **Number of kernels (-n)**: One should usually use one job for each processor core on the machine Use a command like ```bash bash figure*.sh -n number_of_kernels ``` It may be mandatory to provide the location of your deal.II installation as well. This is done by providing another argument: - **Path to deal (-D)**: Path to the deal.II installation Use a command like ```bash bash figure*.sh -n number_of_kernels -D path_to_deal ``` 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. ### Example 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) ```bash bash figure_7_2_table_7_1.sh -n 4 -D ../../../../ ``` ## Visualization ### Matlab The Matlab scripts are used to generate the plots and tables. The tables are directly prompted to the Matlab output. ### Paraview To load the state files in Paraview, select `File->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. ## Remarks - 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). - Be aware that, depending on your computer, the computations may take several hours or days.

    Readme

    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. The computations are done in C++ using the Finite Element library deal.II.

    Requirements

    • In order to run the code you need deal.II (release 9.1.1), cf. https://www.dealii.org/9.1.1
    • 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
    • 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
    • For the visualization of the data you need Matlab (version R2020a Update 2) and Paraview (version 5.8.1-RC1)

    Structure

    The structure is as follows:

    • 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.
    • The folder matlab_plot_files contains Matlab scripts for the convergence plots and related tables
    • The folder paraview_plot_files contains Paraview states to generate the solution plots
    • In programs the actual source code is stored within three different programs that are
      • 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
      • 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
      • microproblem_conductivity: Code that solves the microscopic cell problems
    • In results the results of the computations are stored according to the sub structure of the programs folder

    Howto

    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:

    • Number of kernels (-n): One should usually use one job for each processor core on the machine Use a command like
        bash figure*.sh -n number_of_kernels
    

    It may be mandatory to provide the location of your deal.II installation as well. This is done by providing another argument:

    • Path to deal (-D): Path to the deal.II installation Use a command like
        bash figure*.sh -n number_of_kernels -D path_to_deal
    

    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.

    Example

    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)

        bash figure_7_2_table_7_1.sh -n 4 -D ../../../../
    

    Visualization

    Matlab

    The Matlab scripts are used to generate the plots and tables. The tables are directly prompted to the Matlab output.

    Paraview

    To load the state files in Paraview, select File->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.

    Remarks

    • 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).
    • Be aware that, depending on your computer, the computations may take several hours or days.
    Show all Show markdown
    Keywords:
    Maxwell equations
    Sobolev equation
    time-integration
    homogenization
    heterogeneous multiscale method
    recursive convolution
    memory variable
    Related information:
    -
    Language:
    -
    Publishers:
    Karlsruhe Institute of Technology
    Production year:
    2020
    Subject areas:
    Mathematics
    Resource type:
    Dataset
    Data source:
    -
    Software used:
    -
    Data processing:
    -
    Publication year:
    2023
    Rights holders:
    Freese, Jan Philip
    Funding:
    -
    Show all Show less
    Name Storage Metadata Upload Action
    Status:
    Published
    Uploaded by:
    kitopen
    Created on:
    2023-04-20
    Archiving date:
    2023-06-21
    Archive size:
    949.2 kB
    Archive creator:
    kitopen
    Archive checksum:
    ad34b9377519ac27f21085cbc430c06f (MD5)
    Embargo period:
    -
    DOI: 10.35097/1275
    Publication date: 2023-06-21
    Download Dataset
    Download (949.2 kB)

    Download Metadata
    Statistics
    0
    Views
    0
    Downloads
    Rights statement for the dataset
    This work is licensed under
    CC BY-NC-SA 4.0
    CC icon
    Cite Dataset
    Freese, Jan Philip (2023): Numerical experiments to "Numerical homogenization of time-dependent Maxwell's equations with dispersion effects". Karlsruhe Institute of Technology. DOI: 10.35097/1275
    • About the Repository
    • Privacy Policy
    • Terms and Conditions
    • Legal Notices
    • Accessibility Declaration
    powered by RADAR
    1.22.10 (f) / 1.16.4 (b) / 1.22.4 (i)

    RADAR4KIT ist ein über das Internet nutzbarer Dienst für die Archivierung und Publikation von Forschungsdaten aus abgeschlossenen wissenschaftlichen Studien und Projekten für Forschende des KIT. Betreiber ist das Karlsruher Institut für Technologie (KIT). RADAR4KIT setzt auf dem von FIZ Karlsruhe angebotenen Dienst RADAR auf. Die Speicherung der Daten findet ausschließlich auf IT-Infrastruktur des KIT am Steinbuch Centre for Computing (SCC) statt.

    Eine inhaltliche Bewertung und Qualitätsprüfung findet ausschließlich durch die Datengeberinnen und Datengeber statt.

    1. Das Nutzungsverhältnis zwischen Ihnen („Datennutzerin“ bzw. „Datennutzer“) und dem KIT erschöpft sich im Download von Datenpaketen oder Metadaten. Das KIT behält sich vor, die Nutzung von RADAR4KIT einzuschränken oder den Dienst ganz einzustellen.
    2. Sofern Sie sich als Datennutzerin oder als Datennutzer registrieren lassen bzw. über Shibboleth legitimieren, kann Ihnen seitens der Datengeberin oder des Datengebers Zugriff auch auf unveröffentlichte Dokumente gewährt werden.
    3. Den Schutz Ihrer persönlichen Daten erklären die Datenschutzbestimmungen.
    4. Das KIT übernimmt für Richtigkeit, Aktualität und Zuverlässigkeit der bereitgestellten Inhalte keine Gewährleistung und Haftung, außer im Fall einer zwingenden gesetzlichen Haftung.
    5. Das KIT stellt Ihnen als Datennutzerin oder als Datennutzer für das Recherchieren in RADAR4KIT und für das Herunterladen von Datenpaketen keine Kosten in Rechnung.
    6. Sie müssen die mit dem Datenpaket verbundenen Lizenzregelungen einhalten.