Draft:PreCICE (software)

{{AFC submission|d|npov|u=FSImonis2|ns=118|decliner=Seraphimblade|declinets=20250214011520|ts=20241121163153}}

{{AFC comment|1=More of a howto or manual than an encyclopedia article. All external links and most of the examples/guides, if not all, will need to be removed from the article text. This should be an article about the software, not a guide to using it. Seraphimblade Talk to me 01:15, 14 February 2025 (UTC)}}

----

{{Lowercase title}}

{{Short description|Free/open-source coupling library for partitioned simulations}}

{{Infobox software

| name = preCICE

| logo = 150px

| logo alt = logo of preCICE showing a round cutout of 6 coloured streamlines of laminar flow around a cylinder. 2 black, 1 blue, 1 orange, 2 black.

| caption = preCICE coupling library

| developer = University of Stuttgart, Technical University of Munich, and the preCICE community

| qid = Q67123602

| programming language = C++

| operating system = Linux, macOS, Windows, FreeBSD

| genre = simulation software, multiphysics simulation, multiscale simulation

| replaces = FSI*ce

| released = {{Start date and age|2010|06|01|df=no}}

| latest release version = {{wikidata|property|preferred|references|edit|Q67123602|P348|P548=Q2804309}}

| latest release date = {{wikidata|qualifier|preferred|single|Q67123602|P348|P548=Q2804309|P577}}

| license = LGPL-3.0-or-later

| language = English

}}

{{Drafts moved from mainspace|date=November 2024}}

preCICE is a free/open-source coupling library for partitioned multi-physics simulations, including but not restricted to fluid-structure interaction, conjugate heat transfer, and more. preCICE is not specific to particular applications or tools, but instead couples independent, existing codes capable of simulating a subpart of the complete physics involved in a simulation.

To create a coupled simulation, a user would modify existing simulation codes to add calls to the preCICE API (or use one of the provided adapters), provide a preCICE configuration file, and start each code normally, e.g., in a separate terminal.

File:Precice-overview.png

History

= Early years =

The name "preCICE" (precise code interaction coupling environment) appears in literature first in 2010. preCICE is a direct successor of FSI*ce, developed at the Technical University of Munich, which mainly targeted fluid-structure interaction simulations. FSI*ce was a result of a German Research Foundation project in the Research Group [https://gepris.dfg.de/gepris/projekt/5469913?language=en FOR493].

= preCICE v1 =

In May 2015, the development of preCICE was moved to its own [https://github.com/precice/ organization on GitHub]. The first stable version of the core library was released in November 2017 ([https://github.com/precice/precice/releases/tag/v1.0.0 v1.0.0]).

preCICE v1 included a variety of coupling schemes (explicit and implicit, Aitken underrelaxation, Anderson and Broyden quasi-Newton acceleration algorithms), data mapping methods (nearest-neighbor, nearest-projection, RBF), and communication methods (TCP/IP sockets, MPI ports).

The v1.x release cycle saw releases until v1.6.1, in September 2019.

= preCICE v2 =

By 2020, the preCICE project saw development in different directions: extensive refactoring and testing of the core library, large expansion of the available documentation, development of several new adapters and several community building measures. Several of these changes are connected to the acceptance of preCICE into the [https://xsdk.info/ extreme-scale scientific software development kit (xSDK)]. Due to increased number of components, the [https://precice.org/installation-distribution.html preCICE distribution] was introduced as a citable bundle of components working together.

The v2.x release cycle saw releases until v2.5.1, in January 2024.

= preCICE v3 =

preCICE [https://github.com/precice/precice/releases/tag/v3.0.0 v3.0.0] was released in February 2024. Notable changes of v3 include simplifications in the API and configuration, multirate and higher-order time stepping, and faster RBF mapping based on a partition of unity approach.

At the time of the v3 release cycle, the project has expanded from targeting mainly surface coupling to also targeting volume coupling (overlapping domains, see domain decomposition methods), [https://precice.org/configuration-mapping.html#geometric-multiscale-mapping geometric multiscale mapping], system codes implementing the Functional Mock-up Interface., and multiscale simulations

API

The native API of preCICE is written in C++. Language bindings for C and Fortran are compiled into the preCICE library itself.

Further language bindings are available externally.

class="wikitable sortable"

! Language

! Repository

! License

! Package

! Usage (v3)

C++

| rowspan=3 | {{GitHub|precice/precice}}

| rowspan=3 | LGPL-3.0-or-later

| rowspan=3 | [https://github.com/precice/precice/releases GitHub Releases]

|

  1. include

precice::Participant p(…);

C

|

  1. include

preciceC_createParticipant(…);

Fortran

|

CALL precicef_create(…)

Fortran Module

| {{GitHub|precice/fortran-module}}

| LGPL-3.0-or-later

|

|

use precice

CALL precicef_create(…)

Python

| {{GitHub|precice/python-bindings}}

| LGPL-3.0-or-later

| [https://pypi.org/project/pyprecice PyPi]

|

import precice

p = precice.Participant(…)

Rust

| {{GitHub|precice/rust-bindings}}

| LGPL-3.0-or-later

| [https://crates.io/crates/precice crates.io]

|

use precice

let mut participant = precice::Participant::new(…);

Julia

| {{GitHub|precice/PreCICE.jl}}

| LGPL-3.0-or-later

|

|

using PreCICE

PreCICE.createParticipant(…)

Matlab

| {{GitHub|precice/matlab-bindings}}

| LGPL-3.0-or-later

|

|

p = precice.Participant(…)

Configuration

The individual coupled codes (coupling participants) share a common XML-based [https://precice.org/configuration-overview.html configuration file], which specifies the data and coupling meshes, the communication, coupling scheme, acceleration method, and more at runtime. Using a different coupling scheme does not require any changes to the code calling preCICE, but only to the configuration file.

The coupled codes often group the preCICE API calls into an adapter code. This adapter is typically configured by a separate configuration file (with a format appropriate for the respective simulation code), and specifies the exact region of the simulation domain to be coupled, as well as the exact data exchanged..

Example

An adapted fluid solver written in Python using preCICE v3 (ported from v2 reference paper).

While this example is inspired from fluid-structure interaction (exchanging forces and displacements), the model, solution fields, and the exchanged fields can be arbitrary.

import precice

participant = precice.Participant("Fluid", "../precice-config.xml", 0, 1)

positions = ... # define coupling mesh, 2D array with shape (number of vertices, dimension of physical space)

vertex_ids = participant.set_mesh_vertices("Fluid-Mesh", positions)

participant.initialize()

t = 0 # time

u = initialize_solution() # returns initial solution

while participant.is_coupling_ongoing(): # main time loop

if participant.requires_writing_checkpoint():

u_checkpoint = u

solver_dt = compute_adaptive_time_step_size()

precice_dt = participant.get_max_time_step_size()

dt = min(precice_dt, solver_dt) # actual time step size

# returns 2D array with shape (n, dim)

displacements = participant.read_data("Fluid-Mesh", "Displacement", vertex_ids, dt)

u = solve_time_step(dt, u, displacements) # returns new solution

# returns 2D array with shape (n, dim)

forces = compute_forces(u)

participant.write_data("Fluid-Mesh", "Force", vertex_ids, forces)

participant.advance(dt)

if participant.requires_reading_checkpoint():

u = u_checkpoint

else: # continue to next time step

t = t + dt

participant.finalize()

Coupled codes

While preCICE is a software library with an API that can be used by programmers to couple their own code, there exist several integrations with several simulation codes, making preCICE more accessible to end users that are not primarily programmers (such as applied mathematicians, mechanical engineers, or climate scientists).

In the terminology used by preCICE, the integrations to simulation codes are called adapters and can be maintained by the preCICE developers or third parties.

Example codes that preCICE integrates with via adapters include, among others:

The community has also coupled CAMRAD II, DLR TAU, DUST, DuMuX, Rhoxyz, Ateles, XDEM, FLEXI, [https://github.com/precice/mbdyn-adapter MBDyn], [https://github.com/precice/openfast-adapter OpenFAST], [https://github.com/precice/lsdyna-adapter LS-DYNA], and [https://github.com/gismo/gismo/tree/precice_v3.0.0 G+Smo].

Applications

Academic publications by the developers and by independent research groups have demonstrated preCICE for several applications (see pointers to literature in the v2 paper ), while [https://precice.org/community-projects.html further examples] are listed on the website of the project.

  • Mechanical and civil engineering
  • Aeroacoustics: See, e.g., the ExaFSA HPC project (Germany, Netherlands, Japan).
  • Aerodynamics: See, e.g., work by the TU Delft on inflatable kites (Netherlands).
  • Aerodynamic heating: See, e.g., a paper on hypersonic aerothermal simulations (USA).
  • Explosions: See, e.g., work by the National University of Defense Technology (China).
  • Urban wind modeling: See, e.g., work by the University of Manchester (UK).
  • Manufacturing processes: See, e.g., work by the Austrian Institute of Technology (Austria).
  • Marine engineering
  • See, e.g., work by the University of Split (Croatia).
  • Bioengineering
  • Hemodynamics - heart valves: See, e.g., work by the University of Stellenbosch (South Africa).
  • Hemodynamics - aorta: See, e.g., work by the UPC (Spain) and the University of Stuttgart (Germany).
  • Fish locomotion: See, e.g., work by the University of Strathclyde (UK) and collaborators (China).
  • Muscle-tendon systems: See, e.g., work by the University of Stuttgart (Germany).
  • Nuclear fission and fusion reactors
  • Thermohydraulics: See, e.g., work by GRS (in collaboration with the Technical University of Munich and the preCICE developers) on coupled reactor thermohydraulics (Germany).
  • Geophysics
  • Porous media flow: See, e.g., work by the University of Stuttgart (Germany).
  • Geothermal energy: See, e.g., work by the GeoKW project (Germany).
  • Further examples
  • Inductively coupled plasma wind tunnels: See, e.g., work by the University of Illinois (USA)

See also

References

{{cite web

| url=https://packages.msys2.org/packages/mingw-w64-x86_64-precice

| title=MSYS2 Packages - Package: mingw-w64-x86_64-precice

| access-date=7 November 2024

}}

{{cite web

| url=https://cgit.freebsd.org/ports/tree/science/precice/Makefile

| title=FreeBSD Git repositories - root/science/precice/Makefile

| access-date=7 November 2024

}}

{{cite journal

| last1 = Gatzhammer

| first1 = Bernhard

| last2 = Mehl

| first2 = Miriam

| last3 = Neckel

| first3 = Tobias

| title = A coupling environment for partitioned multiphysics simulations applied to fluid-structure interaction scenarios

| journal = Procedia Computer Science

| volume = 1

| issue = 1

| pages = 681–689

| publisher = Elsevier

| date = June 2010

| doi = 10.1016/j.procs.2010.04.073

| doi-access = free

}}

{{cite web

| url= https://www.cs.cit.tum.de/en/sccs/research/software-developments/

| title= Software Developments - Chair of Scientific Computing

| publisher= Technical University of Munich

| access-date=5 November 2024

}}

{{cite journal

| title = preCICE – A fully parallel library for multi-physics surface coupling

| journal = Computers & Fluids

| volume = 141

| pages = 250–258

| year = 2016

| issn = 0045-7930

| doi = 10.1016/j.compfluid.2016.04.003

| url = https://www.sciencedirect.com/science/article/pii/S0045793016300974

| author1 = Hans-Joachim Bungartz

| author2 = Florian Lindner

| author3 = Bernhard Gatzhammer

| author4 = Miriam Mehl

| author5 = Klaudius Scheufele

| author6 = Alexander Shukaev

| author7 = Benjamin Uekermann

}}

{{cite journal

| author1 = Chourdakis G.

| author2 = Davis K.

| author3 = Rodenberg B.

| author4 = Schulte M.

| author5 = Simonis F.

| author6 = Uekermann B.

| author7 = Abrams G.

| author8 = Bungartz HJ.

| author9 = Cheung Yau L.

| author10 = Desai I.

| author11 = Eder K.

| author12 = Hertrich R.

| author13 = Lindner F.

| author14 = Rusch A.

| author15 = Sashko D.

| author16 = Schneider D.

| author17 = Totounferoush A.

| author18 = Volland D.

| author19 = Vollmer P.

| author20 = Koseomur OZ.

| title = preCICE v2: A sustainable and user-friendly coupling library [version 2; peer review: 2 approved]

| journal = Open Research Europe

| volume = 2

| year = 2022

| number = 51

| page = 51

| doi = 10.12688/openreseurope.14445.2

| doi-access = free

| pmid = 37645328

| pmc = 10446068

}}

{{cite web

| url=https://precice.org/adapters-overview.html

| title = preCICE website - Overview of adapters

| access-date=7 November 2024

}}

{{cite web

| url = https://github.com/xsdk-project/xsdk-policy-compatibility/blob/master/precice-policy-compatibility.md

| title = GitHub - xsdk-project - xSDK Community Policy Compatibility for preCICE

| website = GitHub

| access-date=7 November 2024

}}

{{Cite conference

| publisher = American Institute of Aeronautics and Astronautics

| doi = 10.2514/6.2024-3548

| isbn = 978-1-62410-716-0

| conference = AIAA AVIATION FORUM AND ASCEND 2024

| last1 = Signorelli

| first1 = Joseph M.

| last2 = Higgins

| first2 = Ian R.

| last3 = Maszkiewicz

| first3 = Samuel A.

| last4 = Laurence

| first4 = Stuart

| last5 = Bodony

| first5 = Daniel J.

| title = Hypersonic Aerothermal Computations of a Sharp Fin Interaction

| book-title = AIAA AVIATION FORUM AND ASCEND 2024

| location = Las Vegas, Nevada

| access-date = 2024-10-02

| date = 2024-07-29

| url = https://arc.aiaa.org/doi/10.2514/6.2024-3548

}}

{{Cite journal

| doi = 10.1515/kern-2023-0119

| volume = 89

| issue = 2

| pages = 185–201

| last1 = Herb

| first1 = Joachim

| last2 = Weyermann

| first2 = Fabian

| title = Implementation of the preCICE coupling interface for AC2/ATHLET

| journal = Kerntechnik

| access-date = 2024-11-12

| date = 2024-04-25

| url = https://www.degruyter.com/document/doi/10.1515/kern-2023-0119/html

}}

{{Cite conference

| pages = 21

| last1 = Munafò

| first1 = Alessandro

| last2 = Chiodi

| first2 = Robert

| last3 = Kumar

| first3 = Sanjeev

| last4 = Maout

| first4 = Vincent Le

| last5 = Stephani

| first5 = Kelly A

| last6 = Panerai

| first6 = Francesco

| last7 = Bodony

| first7 = Daniel J

| last8 = Panesi

| first8 = Marco

| title = A Multi-Physics Modeling Framework for Inductively Coupled Plasma Wind Tunnels

| date = 2022

| doi = 10.2514/6.2022-1011

| conference = AIAA SCITECH 2022 Forum

| url = https://arc.aiaa.org/doi/10.2514/6.2022-1011

}}

{{Cite book

| publisher = Springer International Publishing

| isbn = 978-3-030-47955-8

| volume = 136

| pages = 271–300

| editor = Hans-Joachim Bungartz, Severin Reiz, Benjamin Uekermann, Philipp Neumann, Wolfgang E. Nagel

| last1 = Lindner

| first1 = Florian

| last2 = Totounferoush

| first2 = Amin

| last3 = Mehl

| first3 = Miriam

| last4 = Uekermann

| first4 = Benjamin

| last5 = Pour

| first5 = Neda Ebrahimi

| last6 = Krupp

| first6 = Verena

| last7 = Roller

| first7 = Sabine

| last8 = Reimann

| first8 = Thorsten

| last9 = C. Sternel

| first9 = Dörte

| last10 = Egawa

| first10 = Ryusuke

| last11 = Takizawa

| first11 = Hiroyuki

| last12 = Simonis

| first12 = Frédéric

| title = Software for Exascale Computing - SPPEXA 2016-2019

| chapter = ExaFSA: Parallel Fluid-Structure-Acoustic Simulation

| location = Cham

| date = 2020

| doi = 10.1007/978-3-030-47956-5_10

| doi-access = free

}}

{{cite conference

| last1 = Maier

| first1 = Benjamin

| last2 = Schneider

| first2 = David

| last3 = Schulte

| first3 = Miriam

| last4 = Uekermann

| first4 = Benjamin

| editor1-last = Nagel

| editor1-first = Wolfgang E.

| editor2-last = Kröner

| editor2-first = Dietmar H.

| editor3-last = Resch

| editor3-first = Michael M.

| title = Bridging scales with volume coupling - Scalable simulations of muscle contraction and electromyography

| conference = High Performance Computing in Science and Engineering '21

| year = 2023

| publisher = Springer International Publishing

| location = Cham

| pages = 185–199

| isbn = 978-3-031-17937-2

| doi = 10.1007/978-3-031-17937-2_11

| doi-access = free

}}

{{cite journal

| last1 = Folkersma

| first1 = Mikko

| last2 = Schmehl

| first2 = Roland

| last3 = Viré

| first3 = Axelle

| title = Steady-state aeroelasticity of a ram-air wing for airborne wind energy applications

| journal = Journal of Physics: Conference Series

| volume = 1618

| issue = 3

| pages = 032018

| year = 2020

| publisher = IOP Publishing

| doi = 10.1088/1742-6596/1618/3/032018

| doi-access = free

| bibcode = 2020JPhCS1618c2018F

}}

{{cite journal

| last1 = Revell

| first1 = A

| last2 = Afgan

| first2 = I

| last3 = Ali

| first3 = A E A

| last4 = Camps Santasmasas

| first4 = M

| last5 = Craft

| first5 = T

| last6 = de Rosis

| first6 = A

| last7 = Holgate

| first7 = J

| last8 = Laurence

| first8 = D

| last9 = Iyamabo

| first9 = B E O

| last10 = Mole

| first10 = A

| last11 = Owen

| first11 = B

| last12 = Savoie

| first12 = M

| last13 = Skillen

| first13 = A

| last14 = Wang

| first14 = J

| last15 = Zhang

| first15 = X

| title = Coupled Hybrid RANS-LES Research at The University of Manchester

| journal = ERCOFTAC Bulletin

| volume = 120

| pages = 67

| year = 2020

| publisher = European Research Community on Flow, Turbulence And Combustion

| url = https://hal.science/hal-02476649

| access-date = 2024-11-21

}}

{{cite conference

| last1 = Zhang

| first1 = Sen

| last2 = Guo

| first2 = Xiao-Wei

| last3 = Li

| first3 = Chao

| last4 = Liu

| first4 = Yi

| last5 = Zhao

| first5 = Ran

| last6 = Yang

| first6 = Canqun

| title = Numerical Study of Fluid-Structure Interaction Dynamics under High-explosive Detonation on Massively Parallel Computers

| book-title = 2020 IEEE 22nd International Conference on High Performance Computing and Communications; IEEE 18th International Conference on Smart City; IEEE 6th International Conference on Data Science and Systems (HPCC/SmartCity/DSS)

| year = 2020

| pages = 525–531

| doi = 10.1109/HPCC-SmartCity-DSS50907.2020.00065

}}

{{cite conference

| last1 = Scheiblhofer

| first1 = Stefan

| last2 = Jäger

| first2 = Stephan

| last3 = Horr

| first3 = Amir M.

| title = Coupling FEM and CFD solvers for continuous casting process simulation using precice

| conference = COUPLED VIII: Proceedings of the VIII International Conference on Computational Methods for Coupled Problems in Science and Engineering

| year = 2019

| pages = 23–32

| publisher = CIMNE

| hdl = 2117/189920

| isbn = 978-84-949194-5-9

| url = http://hdl.handle.net/2117/189920

}}

{{cite conference

| last1 = Andrun

| first1 = Martina

| last2 = Bašić

| first2 = Josip

| last3 = Blagojević

| first3 = Branko

| last4 = Klarin

| first4 = Branko

| title = Simulating hydroelastic slamming by coupled Lagrangian-FDM and FEM

| book-title = HSMV 2020

| year = 2020

| pages = 135–142

| publisher = IOS Press

| doi = 10.3233/PMST200036

}}

{{cite thesis

| last = Davis

| first = Kyle

| title = Numerical and experimental investigation of the hemodynamics of an artificial heart valve

| publisher = University of Stellenbosch

| year = 2018

| url = https://scholar.sun.ac.za/handle/10019.1/105077

| accessdate = 2024-11-21

}}

{{cite journal

| last1 = Naseri

| first1 = Alireza

| last2 = Totounferoush

| first2 = Amin

| last3 = González

| first3 = Ignacio

| last4 = Mehl

| first4 = Miriam

| last5 = Pérez-Segarra

| first5 = Carlos David

| title = A scalable framework for the partitioned solution of fluid–structure interaction problems

| journal = Computational Mechanics

| volume = 66

| pages = 471–489

| year = 2020

| issue = 2

| doi = 10.1007/s00466-020-01860-y

| doi-access = free

| publisher = Springer

| bibcode = 2020CompM..66..471N

}}

{{cite journal

| last1 = Luo

| first1 = Yang

| last2 = Xiao

| first2 = Qing

| last3 = Shi

| first3 = Guangyu

| last4 = Wen

| first4 = Li

| last5 = Chen

| first5 = Daoyi

| last6 = Pan

| first6 = Guang

| title = A fluid–structure interaction solver for the study on a passively deformed fish fin with non-uniformly distributed stiffness

| journal = Journal of Fluids and Structures

| volume = 92

| pages = 102778

| year = 2020

| publisher = Elsevier

| doi = 10.1016/j.jfluidstructs.2019.102778

| bibcode = 2020JFS....92j2778L

| url = https://strathprints.strath.ac.uk/70276/1/Luo_etal_JFS_2019_A_fluid_structure_interaction_solver_for_the_study_on_a_passively_deformed_fish_fin.pdf

}}

{{cite conference

| last1 = Jaust

| first1 = Alexander

| last2 = Weishaupt

| first2 = Kilian

| last3 = Mehl

| first3 = Miriam

| last4 = Flemisch

| first4 = Bernd

| editor1-last = Klöfkorn

| editor1-first = Robert

| editor2-last = Keilegavlen

| editor2-first = Eirik

| editor3-last = Radu

| editor3-first = Florin A.

| editor4-last = Fuhrmann

| editor4-first = Jürgen

| title = Partitioned Coupling Schemes for Free-Flow and Porous-Media Applications with Sharp Interfaces

| book-title = Finite Volumes for Complex Applications IX - Methods, Theoretical Aspects, Examples

| year = 2020

| pages = 605–613

| publisher = Springer International Publishing

| doi = 10.1007/978-3-030-43651-3_57

| isbn = 978-3-030-43651-3

}}

{{cite report

| last1 = Böttcher

| first1 = Fabian

| last2 = Davis

| first2 = Kyle

| last3 = Halilovic

| first3 = Smajil

| last4 = Odersky

| first4 = Leonhard

| last5 = Pauw

| first5 = Viktoria

| last6 = Schramm

| first6 = Thilo

| last7 = Zosseder

| first7 = Kai

| title = Optimising the thermal use of groundwater for a decentralized heating and cooling supply in the city of Munich, Germany

| year = 2021

| institution = Copernicus Meetings

| doi = 10.5194/egusphere-egu21-14929

| doi-access = free

}}

{{cite conference

| last1 = Willeke

| first1 = Leonard

| last2 = Schneider

| first2 = David

| last3 = Uekermann

| first3 = Benjamin

| title = A preCICE-FMI Runner to Couple FMUs to PDE-Based Simulations

| book-title = Proceedings 15th Intern. Modelica Conference

| editor1-last = Müller

| editor1-first = Dirk

| editor2-last = Monti

| editor2-first = Antonello

| editor3-last = Benigni

| editor3-first = Andrea

| publisher = Linköping Electronic Conference Proceedings

| year = 2023

}}

{{cite journal

| last1 = Desai

| first1 = Ishaan

| last2 = Scheurer

| first2 = Erik

| last3 = Bringedal

| first3 = Carina

| last4 = Uekermann

| first4 = Benjamin

| title = Micro Manager: a Python package for adaptive and flexible two-scale coupling

| journal = Journal of Open Source Software

| volume = 8

| issue = 91

| pages = 5842

| year = 2023

| publisher = The Open Journal

| doi = 10.21105/joss.05842

| doi-access = free

| bibcode = 2023JOSS....8.5842D

}}

{{cite journal

| last1 = Rüth

| first1 = Benjamin

| last2 = Uekermann

| first2 = Benjamin

| last3 = Mehl

| first3 = Miriam

| last4 = Birken

| first4 = Philipp

| last5 = Monge

| first5 = Azahar

| last6 = Bungartz

| first6 = Hans-Joachim

| title = Quasi-Newton Waveform Iteration for Partitioned Surface-Coupled Multi-Physics Applications

| journal = International Journal for Numerical Methods in Engineering

| year = 2020

| volume = 122

| issue = 19

| pages = 5236–5257

| doi = 10.1002/nme.6443

| doi-access = free

}}