sphin.3.scd.in (3537B)
1 sphin(3) "UNIX" 2 3 ; Copyright (C) 2024-2026 Centre National de la Recherche Scientifique 4 ; Copyright (C) 2024-2026 Clermont Auvergne INP 5 ; Copyright (C) 2024-2026 INSA Lyon 6 ; Copyright (C) 2024-2026 Institut Mines Télécom Albi-Carmaux 7 ; Copyright (C) 2024-2026 Institut National Polytechnique de Toulouse 8 ; Copyright (C) 2024-2026 |Méso|Star> (contact@meso-star.com) 9 ; Copyright (C) 2024-2026 PhotonLyX (info@photonlyx.com) 10 ; Copyright (C) 2024-2026 Université de Lorraine 11 ; Copyright (C) 2024-2026 Université Paul Sabatier 12 ; Copyright (C) 2024-2026 Université Toulouse - Jean Jaurès 13 ; 14 ; This program is free software: you can redistribute it and/or modify 15 ; it under the terms of the GNU General Public License as published by 16 ; the Free Software Foundation, either version 3 of the License, or 17 ; (at your option) any later version. 18 ; 19 ; This program is distributed in the hope that it will be useful, 20 ; but WITHOUT ANY WARRANTY; without even the implied warranty of 21 ; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 22 ; GNU General Public License for more details. 23 ; 24 ; You should have received a copy of the GNU General Public License 25 ; along with this program. If not, see <http://www.gnu.org/licenses/>. 26 27 # NAME 28 29 sphin - sphin library definitions 30 31 # SYNOPSIS 32 33 *#include <sphin.h>* 34 35 # DESCRIPTION 36 37 The *sphin* C library provides functions to parse, load and expose data of a 38 photoreactive system as described in the *star-phor-input*(5) file format. 39 40 It provides a unified data representation that abstract original format used to 41 save data on disk. For example, geometries are all stored in a consistent 42 structure - primarly using one-dimensional arrays - regardless of their original 43 file format. 44 45 Once loaded, the data is intended to be independent of any specific numerical 46 method. In other words, the library is designed to be independent of a solver 47 but nevertheless aims to provide all the data (geometric and physical) necessary 48 for a numerical simulation. The data is thus said to be unstructured with regard 49 to a resolution method. A deterministic solver would therefore be responsible 50 for meshing the integration domains, while a statistical solver would have to 51 build structures capable of accelerating random access to the system data. 52 53 The library's dynamic memory management is based on reference counting. Each API 54 object allocated by the library has a reference counter, initialized when it is 55 created: the caller is therefore the owner. The caller can then obtain other 56 references or release them as needed. However, other dynamically allocated API 57 objects can also obtain additional references to the API objects on which they 58 depend and which they need throughout their lifetime. An object is effectively 59 released once all its references have been released, either by the caller or by 60 the other objects that depend on it. Thus, unlike a manual 61 allocation/deallocation policy, the caller can release the references it holds 62 without having to worry about the order of release; the actual deallocation of 63 an object only occurs once all references have been released. 64 65 There is currently no manual page documenting the API of the *sphin* library. 66 Users are therefore invited to consult its header *@INCPREFIX@/sphin.h* as the 67 primary reference documentation and index of the functions it offers. 68 69 # SEE ALSO 70 71 _star-phor-input_(5), _sphin-lint_(1) 72 73 # HISTORY 74 75 The *sphin* library has been developed thanks to the funding of the ECOCHEM 76 project (ProjetIA-22-PESP-0006) belonging to the *PEPR SPLEEN*.