dataesr/scientific-paragraphs-categorization huggingface dataset:
, p, that is: ∀ξ ∈ V, J (Ω)(ξ) = a(θ J , ξ), and G i (Ω)(ξ) = a(θ Gi , ξ). The next iterate (Id + τ θ)(Ω) in the solution of the shape optimization problem (4. 7) is obtained from a deformation θ which is sought as a linear combination of θ J and the θ Gi ; we may write the latter under the form (4. 8) θ = -(α J ξ J + α G ξ G ) , where        ξ J = θ J - p i=1 λ i θ Gi , ξ G = p i=1 β i θ Gi , and the coefficients λ i , β i are characterized by the following requirements: 5 An open source implementation is available at the address: https://gitlab. com/florian. feppon/null-space-optimizer • The vector field ξ J ∈ V is a descent direction for J(Ω) lying in the null-space of the constraint functional G(Ω), i. e. ∀i = 1,. , p, G i (Ω)(ξ J ) = a(θ Gi , ξ J ) = 0. This property rewrites under the form of a p × p matrix system for the coefficients λ = (λ i ) i=1,.
This would allow, for instance, to optimize the regions of the boundary of a domain bearing various types of boundary conditions, in the spirit of our previous work  [42]. We also wish to extend this methodology to handle the evolution of open curves in 2d, and open surfaces in 3d, which would make it possible to optimize shell structures. The next call to the function iniGeom from the module inigeom. py, which is described in Appendix A. 6, is meant to create the initial mesh T 0 of D, equipped with the boundary conditions of the test-case, and featuring an explicit discretization of the initial shape Ω 0 as a submesh T 0 int. # Creation of the initial mesh inigeom. iniGeom (path. step (0 , " mesh " ) ,path. step (0 , " phi. sol " ) The resulting mesh file step. 0. mesh is stored in the folder path.
RES; it is depicted in Fig. 25 (a) , where the interior submesh T 0 int is that made of the black triangles (identified by the reference path. REFINT), while the exterior submesh T 0 ext is the collection of white triangles (with reference path. REFEXT). The linear elasticity system (A. 2) for the elastic displacement u Ω 0 of Ω 0 is then solved on the interior submesh T 0 int thanks to the function elasticity from the mechtools. py module. # Resolution of the state equation mechtools. elasticity (path. step (0 , " mesh " ) ,path. step (0 , " u. sol " )) This function is described in Appendix A. 8 below. Finally, the values C(Ω 0 ) and Vol(Ω 0 ) of the compliance and the volume of Ω 0 are calculated owing to the following commands: # Calculation of the compliance and the volume of the shape newCp = mechtools.
2)) on Ω n , is called curu. It is encoded as a P 1 finite element function on the whole mesh curmesh, with the convention that only its values in the interior part of curmesh are to be considered. • The respective values newCp, newvol of the compliance and volume C(Ω n ) and Vol(Ω n ) of the current shape Ω n. The n th iteration starts with the calculation of the signed distance function φ n = d Ω n to Ω n at the vertices of the mesh T n. This relies on the function mshdist from the module lstools. py: # Generation of a level set function for $ \ Omega ^n$ on $D$ l s t o o l s. mshdist ( curmesh , curphi ) The use of this function is described in Appendix A. 7. The shape gradients of the objective and constraint functionals C(Ω) and Vol(Ω) are then calculated. This is realized thanks to the functions gradCp and gradV from the module mechtools.
(2) The 0 level set φ n+1 , named newphi, is explicitly discretized in the mesh curmesh by calling mmg. # Creation of a mesh associated to the new shape p r i n t ( " Local remeshing " ) retmmg = mshtools. mmg2d ( curmesh ,1 , newphi ,path. HMIN ,path. HMAX , path. HAUSD ,path. HGRAD ,1 , newmesh ) The function mshtools. mmg2d in charge of the interface between the library mmg and our python framework is described in Appendix A. 7. (3) (Unless the execution of mmg has accidentally failed) The elastic displacement u Ω n+1 is calculated on the new shape defined by the mesh T n+1 of D, named newmesh, or more accurately, on the submesh T n+1 int of T n+1 made of the triangles with reference path. REFINT. The corresponding values of the compliance and volume functionals, and then the new value of the merit are evaluated.
step(n,"CP. grad. sol") and path. step(n,"V. grad. sol"), • The descent direction θ n , called curgrad, is saved in the file path. step(n,"grad. sol"). Eventually, the values of the compliance and volume attached to each shape Ω n are stored in the path. HISTO file. The file path. py also contains the command lines needed to call the external programs mshdist, advect, mmg and FreeFem from the terminal; as hinted at in Appendix A. 2, these instructions should be supplied by the user after their installation. # Call for the executables of external codes FREEFEM = " FreeFem ++ -nw " MSHDIST = " mshdist " ADVECT = " / Users / dapogny / Advection / build / advect " MMG2D = " / Users / dapogny / mmg / build / bin / mmg2d_O3 " The names of the various Freefem scripts of the archive used in the python functions are provided: # Path to FreeFem scripts FFTEST = SCRIPT + " testFF.
edp " FFDESCENT = SCRIPT + " descent. edp " FFEVALOBJ = SCRIPT + " evalobj. edp ". Eventually, a shorthand is defined for the names of various output files at each iteration of the process, see Appendix A. The function dedicated to the creation of the mesh T 0 of D, in which the initial shape Ω 0 is explicitly discretized as a submesh T 0 int , is contained in the module inigeom. py. def iniGeom ( mesh ) : This function proceeds in several stages: (1) The exchange file path. EXCHFILE is filled with the names of the output mesh and of the intermediate level set function used in the creation of the latter: # Fill in exchange file inout. setAtt ( file =path. EXCHFILE , attname = " MeshName " , attval = mesh ) inout. setAtt ( file =path. EXCHFILE , attname = " PhiName " , attval =path. TMPSOL ) (2) A mesh of the computational domain D is generated via the call to the FreeFem script path.
FFINIMSH, whose contents are described in the next listing. (3) The resulting mesh is modified towards quality improvement, thanks to the external library mmg. # Call to mmg2d for remeshing the background mesh mshtools. mmg2d ( mesh ,0 , None ,path. HMIN ,path. HMAX , path. HAUSD ,path. HGRAD ,0 , mesh ) Again, the syntax of the function mshtools. mmg2d in charge of making the interface with this external library and our python implementation is described in detail in Appendix A. 7. (4) In this example, Ω 0 is the total computational domain D, deprived from a collection of holes, see Fig. 25 (a). In order to create the associated mesh T 0 of D, one level set function φ 0 for this shape is generated via the FreeFem script path. FFINILS. /* Get mesh and sol names */ s t r i n g MESH = getsParam ( EXCHFILE , " MeshName " ); s t r i n g PHI = getsParam ( EXCHFILE , " PhiName " ); (5) This level set function φ 0 is explicitly discretized in the mesh by another call to mmg, resulting in the mesh displayed in Fig.
A. 7. External calls to the libraries mshdist, advection and mmg This section is devoted to the python functions through which the external libraries mshdist, advection and mmg are executed in our implementation. Since they are not meant to be modified by the user, we solely present their syntax. We recall that, after the compilation of these three codes, the command lines for their executions have to be specified in the file path. py, as described in Appendices A. 2 and A. 5. 1. Let D be a domain equipped with a mesh T in which the shape Ω of interest is discretized, as the submesh T int of triangles with labels path. REFINT. The calculation of the signed distance function φ = d Ω to Ω is carried out by the function def mshdist ( mesh , phi ) : from the module lstools. py. Here, • mesh is a string of characters, bearing the name of the.
mesh file for T. • phi is a string of characters, containing the name of the. sol file where φ should be saved. When D is a domain equipped with a mesh T , the resolution of the level set advection equation (3. 3), starting from φ 0 , with velocity field V : D → R d , over a time period (0, T ), is realized via the function def advect ( mesh , phi , vel , step , newphi ) : from the module lstools. py. Here, • mesh is a string of characters, containing the name of the. mesh file for T. • phi is a string of characters referring to the. sol file for the initial level set function φ 0. • vel is a string of characters, containing the. sol file for the velocity field V. • step is a real value, standing for the length T of the advection time period. • newphi is a string of characters, containing the name of the.
sol file where the resulting level set function should be written. Last but not least, the remeshing operations of an input mesh T of a domain D involved in our framework are realized by the mmg library. All the calls to this library are encapsulated in the proposed python implementation via the function def mmg2d ( mesh , ls , phi , hmin , hmax , hausd , hgrad , nr , out ) : defined in the module mshtools. py. The parameters of this function are the following: • mesh is a string of characters bearing the name of the input mesh T. • ls is an integer, taking the values 0 or 1. When ls= 0, the mesh T is remeshed towards improving the quality of its elements; when ls= 1, the 0 level set of the function phi is explicitly discretized in T , which is then remeshed towards improving the quality of its elements.
A. 8. Mechanical calculations Let D be a computational domain, equipped with a mesh T in which the shape Ω of interest is explicitly discretized, as the submesh T int composed of the triangles with label path. REFINT. The resolution of the linear elasticity system for the displacement u Ω is achieved by the elasticity function, pertaining to the module mechtools. py. def elasticity ( mesh , u ) : In this command, • mesh is a string of characters, bearing the name of the mesh T. • u is a string of characters for the name of the output vector field u Ω. The latter is treated as a P 1 finite element vector field, stored as a. sol file containing values at all the vertices of T , being understood that only those values at the vertices of T int will be considered. The function proceeds by first entering this information in the exchange file path.
velext ; printsol ( GRADCP , g []); In a few words, the variational problem featured in this script solves the identification problem (4. 4) with the inner product a(•, •) -given by (A. 4) and supplied in the file macros. idp described in Appendix A. 5. 2 -and the right-hand side C (Ω)(•n) given by (A. 3). The calculation of the gradient of the volume functional follows the exact same trail, and we do not detail further the contents of the corresponding function def gradV ( mesh , grad ) : A. 9. 2.
Derivation of a descent direction The null-space optimization algorithm described in Section 4. 6 is implemented in the function def descent ( mesh , phi , Cp , gCp , vol , gV , g ) : from the mechtools. py module. The latter essentially calls FreeFem with the file path. FFDESCENT, which proceeds as follows. After reading the computational mesh T of D, finite element spaces and parameters are declared. The finite element functions associated to the level set function φ for Ω and the gradients of the compliance and volume functionals are loaded.
loadsol ( PHI , phi []); loadsol ( GRADCP , thJ []); loadsol ( GRADV , thG []); The contributions ξ J and ξ G to the total descent direction θ, given by (4. 8), are then calculated. Then, the extended normal vector field n to the boundary of the shape Ω is calculated on the whole domain D via the formula n(x) = ∇φ(x) |∇φ(x)| , first as a P 0 vector field on T , then as a P 1 vector field. /* Extended normal vector as a P0 function over the mesh */ norm0 = sqrt ( eps + dx ( phi )* dx ( phi )+ dy ( phi )* dy ( phi )); nx0 = dx ( phi ) / norm0 ; ny0 = dy ( phi ) / norm0 ; /* Extended normal vector as a P1 function over the mesh */ problem extnx ( nx , v ) = int2d ( Th )  (   The evaluation of the merit M (Ω) of a shape Ω, defined in (4. 9), is simply realized via the function merit of the mechtools module: def merit ( Cp , vol ) : This simple function takes as arguments the compliance Cp and the volume vol of the shape, which have been calculated via the functions defined in Appendix A.
8. It also relies on the coefficients λ, S, α J , α G produced by the optimization algorithm of Appendix A. 9, stored in the exchange file path. EXCHFILE. The code described in this appendix has been prepared with the concern that it should be reasonably simple to adapt to the treatment of a wide variety of shape optimization problems. In this section, we briefly functionals C(Ω) and Vol(Ω): # (A. 5) dC T (Ω)(x) = π(λ + 2µ) 2µ(λ + µ) 4µAe(u Ω ) : e(u Ω ) + (λµ)tr(Ae(u Ω ))tr(e(u Ω )) (x), and dVol T (Ω)(x) = -π, see e. g. [61, 84]. The considered example deals with the optimization of a 2d bridge, as depicted on Fig. 27 (a). The shapes Ω of interest are contained in a box D with size 2 × 1. 5; they are clamped on their lower-left corner, their vertical displacement is prevented on their lower-right corner, and a unit vertical load g = (0, -1) is applied on a small region Γ N around the middle of their bottom side.
mmg2d ( curmesh ,1 , newphi ,path. HMIN ,path. HMAX , path. HAUSD ,path. HGRAD ,1 , newmesh ) descentTG of the mechtools. py module infers a descent direction for (A. 1) as a scalar field on the computational domain, owing to a simple adaptation of the null space algorithm of Section 4. 6. Finally, the function def creaHoles ( mesh , phi , grad , volfrac , newphi ) : of the lstools. py module is called. The latter expects the following arguments: • A string of characters mesh for the name of the current mesh of D. • The name phi of the file containing a level set function for the shape Ω n. • The name grad of the file containing the descent direction for (A. 1) resulting from the topological sensitivity analysis. • A real parameter volfrac (taking values between 0 and 1). • The name newphi of the output file containing the level set function of the new shape Ω n+1.
Acknowledgements. The work of C. D. is partially supported by the project  ANR-18-CE40-0013 SHAPO , financed by the  French Agence Nationale de la Recherche (ANR). The body of work presented in this article owes much to the diverse expertise of many colleagues: in particular, we are very grateful to  M. Albertelli ,  F. Bordeu ,  J. Cortial ,  C. Dobrzynski ,  A. Froehly ,  G. Michailidis. The authors are especially indebted to  G. Allaire  and  P. Frey , who were at the inception of this project, and made it thrive with their key insight and relentless suggestions.
A. 2. Getting started: download and installation of the files As a preliminary stage, the use of our program requires the installation of four open-source libraries, written in C or C++: • The library mshdist  [40]  performs the computation of the signed distance function to an input domain at the vertices of a simplicial computational mesh, as detailed in Section 4. 2. It can be freely downloaded from the repository https://github. com/ISCDtoolbox/Mshdist and compiled by following the instructions supplied at this address. • The library advection  [30]  solves the advection equation (3. 3) governing the evolution of a level set function on a simplicial computational mesh in 2d and 3d, see Section 4. 3. It is available at the following link: https://github. com/ISCDtoolbox/Advection where instructions are given to compile the library.
• The library mmg  [39]  is in charge of the remeshing operations of the strategy, as presented in Section 4. 4. It can be downloaded through the webpage of the project https://www. mmgtools. org/ where a series of tutorials is available to exemplify the main features of this program, see also the github link https://github. com/MmgTools/mmg • The software FreeFem  [66]  is a numerical environment where partial differential equations can be solved in a few lines of commands through the input of their variational formulation. More generally, it conveniently and efficiently allows to handle finite element spaces and functions thanks to an intuitive C++ based pseudo-language. The latest version of Freefem can be downloaded from the webpage 6 : https://freefem. org/ which also contains an exhaustive documentation, and multiple worked examples.
The corresponding source code is contained in the following folder: ". u. " + str ( i )+ ". sol " mechtools. elasticity (x , refneu , gx , gy , ui ) # Calculate J and H J = mechtools. volume ( x ) Cptab = [] for i in range (0 , path. NC ) : Cp = mechtools. compliance (x , nam + ". u. " + str ( i )+ ". sol " ) Retraction : shape update # dx = array of np values containing values of the scalar velocity field def retract ( self , x , dx ) : [. ] # Generation of a level set function for $ \ Omega ^n$ on $D$ p r i n t ( " Creation of a level set function " ) l s t o o l s. mshdist ( curmesh , curphi ) # Put scalar velocity defined on D into the normal direction inout. saveSol ( dx ,path. TMPSOL ) l s t o o l s. norvec ( curmesh , curphi ,path. TMPSOL , curgrad ) # Initialization def x0 ( self ) : return path.
step (0 , " mesh " ) [. ] # Calculation of the objective and constraint functions def evalObjective ( self , x ) : [. ] for i in range (0 , path. NC ) : refneu = path. REFNEU + i gx = path. GX [ i ] gy = path. GY [ i ] ui = nam + https://github. com/dapogny/sotuto/topder [. ] # Shape derivatives , sensitivity of objective and constraint def eval Sensit ivitie s ( self , x ) : [. ] # Calculate dJ and gradJ mechtools. gradV (x , nam + ". diffV. sol " , nam + ". gradV. sol " ) # Calculate dH and gradH for i in range (0 , path. NC ) : mechtools. gradCp (x , nam + ". u. " + str ( i )+ ". sol " , nam + ". diffCp. " + str ( i )+ ". sol " , nam + ". gradCp. " + str ( i )+ ". sol " ) [. ] # # Advection of the level set function p r i n t ( " Level Set advection " ).
Since a decade, convection-permitting regional climate models (CPRCM) have emerged showing promising results, especially in improving the simulation of precipitation extremes. In this article, the CPRCM CNRM-AROME developed at the Centre National de Recherches Météorologiques (CNRM) since a few years is described and evaluated using a 2. 5-km long 19-year hindcast simulation over a large northwestern European domain using different observations through an added-value analysis in which a comparison with its driving 12-km RCM CNRM-ALADIN is performed. The evaluation is challenging due to the lack of high-quality observations at both high temporal and spatial resolutions. Thus, a high spatio-temporal observed gridded precipitation dataset was built from the collection of seven national datasets that helped the identification of added value from CNRM-AROME.
2017). For further details on the benefits in using CPRCMs, Lucas-Picher et al. (  2021 ) performed a comprehensive review of climate variables and meteorological phenomena improved at higher resolutions when deep convection is explicitly simulated instead of parameterized. While existing CNRM-AROME simulations are used in different projects and further simulations are planned, there is a lack for a detailed evaluation of its performance. Therefore, this paper aims at evaluating a long 19-year 2. 5-km CNRM-AROME hindcast simulation over a large northwestern European domain covering the UK, France, almost all Germany, Switzerland, Denmark, a large part of Spain, and the Benelux. In this evaluation, the CNRM-AROME CPRCM simulation is compared with its driving CNRM-ALADIN RCM 12-km simulation and different observation datasets, which comprehend many gridded kilometric hourly precipitation datasets over France, Germany, Great Britain, Denmark, Switzerland, Italy, and the Netherlands.
An evaluation of some classical climate statistics such as long-term means and mean annual cycles for precipitation and near-surface temperature over different European regions will be presented. Additional analyses will also include sub-diurnal statistics such as hourly extremes and diurnal cycle of precipitation. Finally, some attention will be paid to less conventional variables such as snow indicators in mountainous regions (Alps), surface incoming radiation, cloud cover and mean sea level pressure. Taking advantage of a large domain centred over France, a special attention will be dedicated to climate characteristics simulated across France that were overlooked in past CPRCM studies. This article is structured as follows: in section 2, the CNRM-AROME CPRCM and the CNRM-ALADIN RCM are described and details of the simulations and the observational datasets used for the evaluation are provided.
Methodology: Description of the models and of the simulations In this study, a 2. 5-km simulation performed by the CNRM-AROME41t1 CPRCM, based on the non-hydrostatic NWP AROME model in which deep convection is explicitly simulated, is compared to a 12-km simulation performed by the CNRM-ALADIN RCM based on the hydrostatic dynamics equations and using deep convection parameterization. Both simulations are compared over a large domain covering northwestern Europe. To evaluate both simulations, a collection of national high-resolution sub-daily gridded precipitation datasets based on weather stations, and sometimes including radar estimates, is used. Both climate models and the observational datasets are described below.
2008; Mlawer et al. 1997). To correct precipitation overestimation and unrealistic divergent winds in the vicinity of convective clouds, the COMAD scheme  (Malardel and Ricard, 2015)  was added to CNRM-AROME. For additional details on CNRM-AROME, the reader is referred to  Caillaud et al. (2021)  and  Seity et al. (2011). The surface scheme of CNRM-AROME is SURFEX 7. 3, which is a soil-atmosphere interface  (Masson et al. 2013)  that procures detailed description of continental surfaces with a high-resolution physiographic database. Each model grid cell is made of a mosaic of four tiles of different surfaces using different schemes: land (ISBA-3L  (Noilhan and Planton, 1989 ) and D95 snow model  (Douville et al. 1995) ), urban (Town Energy Budget (TEB)  (Masson, 2000) ), sea (COARE3  (Fairall et al.
The aerosol concentrations are taken from the aerosol dataset of  Nabat et al. (2013)  and the greenhouse gases (CO2, N2O, CH4, CFC11, CFC12) come from those observed before 2005, and then from the Representative Concentration Pathway (RCP) 4. 5 scenario  (Moss et al. 2010)  afterwards. The CNRM-AROME simulation covers the mandatory northwestern European domain (Fig. 1 ) of the EUCP H2020 project that has also been performed by the KNMI with HCLIM38  (Lenderink et al. 2021 ). The lower left corner is located in Portugal and the upper right corner is located in Sweden. Thus, the domain (Fig. 1 ) covers the UK, Ireland, France, most of Germany, half of Spain and Portugal, Switzerland, northwestern Italy, western Austria, the Benelux, and Denmark. The full domain is made of 720 x 900 grid cells that include an 11 grid-cell bi-periodization zone and a 2×21 grid-cell relaxation zone.
(2007)  and  Guérémy (2011). Moreover, CNRM-ALADIN takes advantage of the more advanced SURFEX8 surface scheme  (Decharme et al. 2019 ) compared to CNRM-AROME SURFEX7. 3. Therefore, the CNRM-ALADIN63 takes into account the more recent maps from the ECOCLIMAP-II dataset  (Faroux et al. 2013 ) used in SURFEX 8 for describing its surface, while CNRM-AROME uses the older ECOCLIMAP-I dataset  (Masson et al. 2003)   The CNRM-ALADIN63 simulation in this study complies with the EURO-CORDEX standards  (Jacob et al. 2014 ) and its domain that uses a Lambert conformal projection covers most of Europe (Fig. 1 ). The full domain is made of 480 x 480 grid cells of 12-km grid spacing that include an 11 grid-cell bi-periodization zone and a 2×8 grid-cell relaxation zone. The atmosphere is divided with 91 vertical levels and the time step is 450 seconds.