Home
last modified time | relevance | path

Searched full:problem (Results 1 – 25 of 58) sorted by relevance

123

/honee/problems/
H A Dgaussianwave.c5 /// Utility functions for setting up Gaussian Wave problem
15 PetscErrorCode NS_GAUSSIAN_WAVE(ProblemData problem, DM dm, void *ctx) { in NS_GAUSSIAN_WAVE() argument
24 PetscCall(NS_NEWTONIAN_IG(problem, dm, ctx)); in NS_GAUSSIAN_WAVE()
31 PetscOptionsBegin(comm, NULL, "Options for GAUSSIAN_WAVE problem", NULL); in NS_GAUSSIAN_WAVE()
44 …PetscCallCeed(ceed, CeedQFunctionContextGetData(problem->apply_vol_rhs.qfctx, CEED_MEM_HOST, &newt… in NS_GAUSSIAN_WAVE()
45 for (PetscCount b = 0; b < problem->num_bc_defs; b++) { in NS_GAUSSIAN_WAVE()
46 BCDefinition bc_def = problem->bc_defs[b]; in NS_GAUSSIAN_WAVE()
66 …PetscCallCeed(ceed, CeedQFunctionContextRestoreData(problem->apply_vol_rhs.qfctx, &newtonian_ig_ct… in NS_GAUSSIAN_WAVE()
71 PetscCallCeed(ceed, CeedQFunctionContextDestroy(&problem->ics.qfctx)); in NS_GAUSSIAN_WAVE()
75problem->ics = (HoneeQFSpec){.qf_func_ptr = IC_GaussianWave_Conserv, .qf_loc = IC_GaussianWave_Con… in NS_GAUSSIAN_WAVE()
[all …]
H A Deulervortex.c14 static PetscErrorCode PRINT_EULER_VORTEX(Honee honee, ProblemData problem, AppCtx app_ctx) { in PRINT_EULER_VORTEX() argument
20 PetscCallCeed(ceed, CeedQFunctionContextGetData(problem->ics.qfctx, CEED_MEM_HOST, &euler_ctx)); in PRINT_EULER_VORTEX()
22 " Problem:\n" in PRINT_EULER_VORTEX()
23 " Problem Name : %s\n" in PRINT_EULER_VORTEX()
30 PetscCallCeed(ceed, CeedQFunctionContextRestoreData(problem->ics.qfctx, &euler_ctx)); in PRINT_EULER_VORTEX()
54 PetscErrorCode NS_EULER_VORTEX(ProblemData problem, DM dm, void *ctx) { in NS_EULER_VORTEX() argument
71problem->ics = (HoneeQFSpec){.qf_func_ptr = ICsEuler, .qf_loc = ICsEuler_… in NS_EULER_VORTEX()
72 problem->apply_vol_rhs = (HoneeQFSpec){.qf_func_ptr = Euler, .qf_loc = Euler_loc}; in NS_EULER_VORTEX()
73problem->apply_vol_ifunction = (HoneeQFSpec){.qf_func_ptr = IFunction_Euler, .qf_loc = IF… in NS_EULER_VORTEX()
74 problem->num_comps_jac_data = 0; in NS_EULER_VORTEX()
[all …]
H A Dshocktube.c14 static PetscErrorCode PRINT_SHOCKTUBE(Honee honee, ProblemData problem, AppCtx app_ctx) { in PRINT_SHOCKTUBE() argument
19 " Problem:\n" in PRINT_SHOCKTUBE()
20 " Problem Name : %s\n", in PRINT_SHOCKTUBE()
27 PetscErrorCode NS_SHOCKTUBE(ProblemData problem, DM dm, void *ctx) { in NS_SHOCKTUBE() argument
64 PetscOptionsBegin(comm, NULL, "Options for SHOCKTUBE problem", NULL); in NS_SHOCKTUBE()
74 … PetscCall(PetscPrintf(comm, "Warning! -stab supg not implemented for the shocktube problem. \n")); in NS_SHOCKTUBE()
116problem->ics = (HoneeQFSpec){.qf_func_ptr = ICsShockTube, .qf_loc = ICsSh… in NS_SHOCKTUBE()
117problem->apply_vol_rhs = (HoneeQFSpec){.qf_func_ptr = EulerShockTube, .qf_loc = Eul… in NS_SHOCKTUBE()
118 problem->num_comps_jac_data = 0; in NS_SHOCKTUBE()
119 problem->compute_exact_solution_error = PETSC_FALSE; in NS_SHOCKTUBE()
[all …]
H A Dtaylorgreen.c11 PetscErrorCode NS_TAYLOR_GREEN(ProblemData problem, DM dm, void *ctx) { in NS_TAYLOR_GREEN() argument
20 PetscCall(NS_NEWTONIAN_IG(problem, dm, ctx)); in NS_TAYLOR_GREEN()
23 PetscCallCeed(ceed, CeedQFunctionContextGetData(problem->ics.qfctx, CEED_MEM_HOST, &setup_ctx)); in NS_TAYLOR_GREEN()
31 PetscCallCeed(ceed, CeedQFunctionContextRestoreData(problem->ics.qfctx, &setup_ctx)); in NS_TAYLOR_GREEN()
33 PetscOptionsBegin(comm, NULL, "Options for TAYLOR-GREEN problem", NULL); in NS_TAYLOR_GREEN()
43 PetscCallCeed(ceed, CeedQFunctionContextDestroy(&problem->ics.qfctx)); in NS_TAYLOR_GREEN()
44 problem->ics = (HoneeQFSpec){ in NS_TAYLOR_GREEN()
H A Dadvection.c21 static PetscErrorCode PRINT_ADVECTION(Honee honee, ProblemData problem, AppCtx app_ctx) { in PRINT_ADVECTION() argument
30 PetscCallCeed(ceed, CeedQFunctionContextGetData(problem->ics.qfctx, CEED_MEM_HOST, &setup_ctx)); in PRINT_ADVECTION()
31 …PetscCallCeed(ceed, CeedQFunctionContextGetData(problem->apply_vol_rhs.qfctx, CEED_MEM_HOST, &adve… in PRINT_ADVECTION()
33 " Problem:\n" in PRINT_ADVECTION()
34 " Problem Name : %s\n" in PRINT_ADVECTION()
68 PetscCallCeed(ceed, CeedQFunctionContextRestoreData(problem->ics.qfctx, &setup_ctx)); in PRINT_ADVECTION()
69 …PetscCallCeed(ceed, CeedQFunctionContextRestoreData(problem->apply_vol_rhs.qfctx, &advection_ctx)); in PRINT_ADVECTION()
381 PetscErrorCode NS_ADVECTION(ProblemData problem, DM dm, void *ctx) { in NS_ADVECTION() argument
424 PetscOptionsBegin(comm, NULL, "Options for ADVECTION problem", NULL); in NS_ADVECTION()
444 …PetscCall(PetscOptionsEnum("-advection_ic_type", "Initial condition for Advection problem", NULL, … in NS_ADVECTION()
[all …]
H A Dstg_shur14.h10 extern PetscErrorCode SetupStg(const MPI_Comm comm, const DM dm, ProblemData problem, Honee honee, …
13 extern PetscErrorCode SetupStrongStg(DM dm, ProblemData problem, Physics phys);
15 extern PetscErrorCode SetupStrongStg_QF(Ceed ceed, ProblemData problem, CeedInt num_comp_x, CeedInt…
18 extern PetscErrorCode SetupStrongStg_PreProcessing(Ceed ceed, ProblemData problem, CeedInt num_comp…
H A Dnewtonian.c19 static PetscErrorCode PRINT_NEWTONIAN(Honee honee, ProblemData problem, AppCtx app_ctx) { in PRINT_NEWTONIAN() argument
25 …PetscCallCeed(ceed, CeedQFunctionContextGetData(problem->apply_vol_rhs.qfctx, CEED_MEM_HOST, &newt… in PRINT_NEWTONIAN()
27 " Problem:\n" in PRINT_NEWTONIAN()
28 " Problem Name : %s\n" in PRINT_NEWTONIAN()
31 PetscCallCeed(ceed, CeedQFunctionContextRestoreData(problem->apply_vol_rhs.qfctx, &newt_ctx)); in PRINT_NEWTONIAN()
370 PetscErrorCode NS_NEWTONIAN_IG(ProblemData problem, DM dm, void *ctx) { in NS_NEWTONIAN_IG() argument
412 PetscOptionsBegin(comm, NULL, "Options for Newtonian Ideal Gas based problem", NULL); in NS_NEWTONIAN_IG()
531 // Set problem information in NS_NEWTONIAN_IG()
532 problem->num_comps_jac_data = 14; in NS_NEWTONIAN_IG()
533 if (newtonian_ig_ctx->idl_enable) problem->num_comps_jac_data += 1; in NS_NEWTONIAN_IG()
[all …]
H A Dchannel.c38 PetscErrorCode NS_CHANNEL(ProblemData problem, DM dm, void *ctx) { in NS_CHANNEL() argument
48 PetscCall(NS_NEWTONIAN_IG(problem, dm, ctx)); in NS_CHANNEL()
59 PetscOptionsBegin(comm, NULL, "Options for CHANNEL problem", NULL); in NS_CHANNEL()
72 //-- Setup Problem information in NS_CHANNEL()
84 …PetscCallCeed(ceed, CeedQFunctionContextGetData(problem->apply_vol_rhs.qfctx, CEED_MEM_HOST, &newt… in NS_CHANNEL()
103 …PetscCallCeed(ceed, CeedQFunctionContextRestoreData(problem->apply_vol_rhs.qfctx, &newtonian_ig_ct… in NS_CHANNEL()
109 PetscCallCeed(ceed, CeedQFunctionContextDestroy(&problem->ics.qfctx)); in NS_CHANNEL()
110problem->ics = (HoneeQFSpec){.qf_func_ptr = ICsChannel, .qf_loc = ICsChannel_loc, .qfctx = channel… in NS_CHANNEL()
112 for (PetscCount b = 0; b < problem->num_bc_defs; b++) { in NS_CHANNEL()
113 BCDefinition bc_def = problem->bc_defs[b]; in NS_CHANNEL()
H A Dblasius.c132 PetscErrorCode NS_BLASIUS(ProblemData problem, DM dm, void *ctx) { in NS_BLASIUS() argument
142 PetscCall(NS_NEWTONIAN_IG(problem, dm, ctx)); in NS_BLASIUS()
147problem->ics = (HoneeQFSpec){.qf_func_ptr = ICsBlasius, .qf_loc = ICsBlasius_loc, .qfctx = problem in NS_BLASIUS()
158 PetscOptionsBegin(comm, NULL, "Options for BLASIUS problem", NULL); in NS_BLASIUS()
184 …PetscCallCeed(ceed, CeedQFunctionContextGetData(problem->apply_vol_rhs.qfctx, CEED_MEM_HOST, &newt… in NS_BLASIUS()
212 …PetscCallCeed(ceed, CeedQFunctionContextRestoreData(problem->apply_vol_rhs.qfctx, &newtonian_ig_ct… in NS_BLASIUS()
218 PetscCallCeed(ceed, CeedQFunctionContextDestroy(&problem->ics.qfctx)); in NS_BLASIUS()
219 problem->ics.qfctx = blasius_qfctx; in NS_BLASIUS()
221 PetscCall(SetupStg(comm, dm, problem, honee, weakT, S_infty.Y.temperature, S_infty.Y.pressure)); in NS_BLASIUS()
227 for (PetscCount b = 0; b < problem->num_bc_defs; b++) { in NS_BLASIUS()
[all …]
H A Ddensitycurrent.c14 PetscErrorCode NS_DENSITY_CURRENT(ProblemData problem, DM dm, void *ctx) { in NS_DENSITY_CURRENT() argument
24 PetscCall(NS_NEWTONIAN_IG(problem, dm, ctx)); in NS_DENSITY_CURRENT()
44 PetscOptionsBegin(comm, NULL, "Options for DENSITY_CURRENT problem", NULL); in NS_DENSITY_CURRENT()
84 …PetscCallCeed(ceed, CeedQFunctionContextGetData(problem->apply_vol_rhs.qfctx, CEED_MEM_HOST, &newt… in NS_DENSITY_CURRENT()
86 …PetscCallCeed(ceed, CeedQFunctionContextRestoreData(problem->apply_vol_rhs.qfctx, &newtonian_ig_ct… in NS_DENSITY_CURRENT()
95 PetscCallCeed(ceed, CeedQFunctionContextDestroy(&problem->ics.qfctx)); in NS_DENSITY_CURRENT()
96problem->ics = (HoneeQFSpec){.qf_func_ptr = ICsDC, .qf_loc = ICsDC_loc, .qfctx = density_current_q… in NS_DENSITY_CURRENT()
H A Dstg_shur14.c237 PetscErrorCode SetupStg(const MPI_Comm comm, const DM dm, ProblemData problem, Honee honee, const b… in SetupStg() argument
290 …PetscCallCeed(ceed, CeedQFunctionContextGetData(problem->apply_vol_rhs.qfctx, CEED_MEM_HOST, &newt… in SetupStg()
292 …PetscCallCeed(ceed, CeedQFunctionContextRestoreData(problem->apply_vol_rhs.qfctx, &newtonian_ig_ct… in SetupStg()
302 PetscCallCeed(ceed, CeedQFunctionContextDestroy(&problem->ics.qfctx)); in SetupStg()
303 problem->ics = (HoneeQFSpec){.qf_func_ptr = ICsStg, .qf_loc = ICsStg_loc, .qfctx = stg_qfctx}; in SetupStg()
307 problem->use_strong_bc_ceed = PETSC_TRUE; in SetupStg()
308 problem->set_bc_from_ics = PETSC_FALSE; in SetupStg()
310 for (PetscCount b = 0; b < problem->num_bc_defs; b++) { in SetupStg()
311 BCDefinition bc_def = problem->bc_defs[b]; in SetupStg()
328 problem->set_bc_from_ics = PETSC_TRUE; in SetupStg()
[all …]
/honee/src/
H A Dsetuplibceed.c54 static PetscErrorCode CreateKSPMass(Honee honee, ProblemData problem) { in CreateKSPMass() argument
60 if (problem->create_mass_operator) PetscCall(problem->create_mass_operator(honee, &op_mass)); in CreateKSPMass()
92 PetscErrorCode SetupLibceed(Ceed ceed, DM dm, Honee honee, AppCtx app_ctx, ProblemData problem) { in SetupLibceed() argument
93 const PetscInt num_comp_q = problem->num_components; in SetupLibceed()
95 CeedInt q_data_size_vol, num_comps_jac_data = problem->num_comps_jac_data; in SetupLibceed()
143 …PetscCallCeed(ceed, CeedQFunctionCreateInterior(ceed, 1, problem->ics.qf_func_ptr, problem->ics.qf… in SetupLibceed()
144 PetscCallCeed(ceed, CeedQFunctionSetContext(qf_ics, problem->ics.qfctx)); in SetupLibceed()
162 if (problem->apply_vol_rhs.qf_func_ptr) { in SetupLibceed()
165 …tscCallCeed(ceed, CeedQFunctionCreateInterior(ceed, 1, problem->apply_vol_rhs.qf_func_ptr, problem in SetupLibceed()
166 PetscCallCeed(ceed, CeedQFunctionSetContext(qf_rhs_vol, problem->apply_vol_rhs.qfctx)); in SetupLibceed()
[all …]
H A Dhonee.c56 ProblemData problem = honee_->problem_data; in HoneeDestroy() local
68 PetscCallCeed(ceed, CeedQFunctionContextDestroy(&problem->ics.qfctx)); in HoneeDestroy()
69 PetscCallCeed(ceed, CeedQFunctionContextDestroy(&problem->apply_vol_rhs.qfctx)); in HoneeDestroy()
70 PetscCallCeed(ceed, CeedQFunctionContextDestroy(&problem->apply_vol_ifunction.qfctx)); in HoneeDestroy()
71 PetscCallCeed(ceed, CeedQFunctionContextDestroy(&problem->apply_vol_ijacobian.qfctx)); in HoneeDestroy()
107 for (PetscInt i = 0; i < problem->num_bc_defs; i++) { in HoneeDestroy()
108 PetscCall(BCDefinitionDestroy(&problem->bc_defs[i])); in HoneeDestroy()
110 PetscCall(PetscFree(problem->bc_defs)); in HoneeDestroy()
111 for (PetscInt i = 0; i < problem->num_components; i++) { in HoneeDestroy()
112 PetscCall(PetscFree(problem->component_names[i])); in HoneeDestroy()
[all …]
H A Dsetupdm.c15 PetscErrorCode CreateDM(Honee honee, ProblemData problem, MatType mat_type, VecType vec_type, DM *d… in CreateDM() argument
74 PetscErrorCode SetUpDM(DM dm, ProblemData problem, PetscInt degree, PetscInt q_extra, Physics phys)… in SetUpDM() argument
85 if (use_strongstg) PetscCall(SetupStrongStg(dm, problem, phys)); in SetUpDM()
94 for (PetscInt i = 0; i < problem->num_bc_defs; i++) { in SetUpDM()
95 BCDefinition bc_def = problem->bc_defs[i]; in SetUpDM()
100 PetscCall(BCDefinitionSetDM(problem->bc_defs[i], dm)); in SetUpDM()
116 for (PetscInt i = 0; i < problem->num_components; i++) { in SetUpDM()
117 PetscCall(PetscSectionSetComponentName(section, 0, i, problem->component_names[i])); in SetUpDM()
123 PetscErrorCode VizRefineDM(DM dm, Honee honee, ProblemData problem, Physics phys) { in VizRefineDM() argument
142 PetscCall(SetUpDM(dm_hierarchy[i + 1], problem, d, q_order, phys)); in VizRefineDM()
H A Dstrong_boundary_conditions.c12 PetscErrorCode SetupStrongSTG_Ceed(Ceed ceed, Honee honee, DM dm, ProblemData problem, Physics phys… in SetupStrongSTG_Ceed() argument
54 …PetscCall(SetupStrongStg_PreProcessing(ceed, problem, num_comp_x, stg_data_size, dXdx_size, &qf_st… in SetupStrongSTG_Ceed()
55 …PetscCall(SetupStrongStg_QF(ceed, problem, num_comp_x, num_comp_q, stg_data_size, dXdx_size, &qf_s… in SetupStrongSTG_Ceed()
62 for (PetscCount b = 0; b < problem->num_bc_defs; b++) { in SetupStrongSTG_Ceed()
63 BCDefinition bc_def_ = problem->bc_defs[b]; in SetupStrongSTG_Ceed()
210 PetscErrorCode SetupStrongBC_Ceed(Ceed ceed, DM dm, Honee honee, ProblemData problem) { in SetupStrongBC_Ceed() argument
232 PetscCall(SetupStrongSTG_Ceed(ceed, honee, dm, problem, honee->phys, op_strong_bc)); in SetupStrongBC_Ceed()
H A Dmisc.c150 PetscErrorCode PostProcess(TS ts, DM dm, ProblemData problem, Honee honee, Vec Q, PetscScalar final… in PostProcess() argument
156 if (problem->compute_exact_solution_error && honee->app_ctx->test_type == TESTTYPE_NONE) { in PostProcess()
264 PetscErrorCode PrintRunInfo(Honee honee, Physics phys_ctx, ProblemData problem, TS ts) { in PrintRunInfo() argument
282 // Problem specific info in PrintRunInfo()
283 PetscCall(problem->print_info(honee, problem, honee->app_ctx)); in PrintRunInfo()
/honee/include/
H A Dnavierstokes.h95 // Problem type arguments
132 // Problem specific setup functions
215 PetscErrorCode BoundaryConditionSetUp(Honee honee, ProblemData problem, AppCtx app_ctx);
232 // Problem specific data
256 // Set up function for each problem
257 extern PetscErrorCode NS_TAYLOR_GREEN(ProblemData problem, DM dm, void *ctx);
258 extern PetscErrorCode NS_GAUSSIAN_WAVE(ProblemData problem, DM dm, void *ctx);
259 extern PetscErrorCode NS_CHANNEL(ProblemData problem, DM dm, void *ctx);
260 extern PetscErrorCode NS_BLASIUS(ProblemData problem, DM dm, void *ctx);
261 extern PetscErrorCode NS_NEWTONIAN_IG(ProblemData problem, DM dm, void *ctx);
[all …]
/honee/doc/
H A Dexamples.md8 The problem has a perturbed initial condition and lets it evolve in time. The initial condition con…
22 This problem can be fixed using a more sophisticated Riemann solver such as HLLC {cite}`toro2009` (…
50 This problem can be run with the `examples/gaussianwave.yaml` file via:
64 We solve this as a 3D problem with (default) one element in the $z$ direction.
90 To run this problem, first generate a mesh:
103 The vortex shedding period is roughly 5.6 and this problem runs until time 100 (2000 time steps).
118 For this test problem (from {cite}`straka1993numerical`), we solve the full Navier-Stokes equations…
126 For this problem, we have used no-slip and non-penetration boundary conditions for $\bm{u}$, and no…
177 ./navierstokes -problem density_current -dm_plex_box_faces 16,1,8 -degree 1 -dm_plex_box_lower 0,0,…
225 This problem can be run with the `examples/channel.yaml` file via:
[all …]
H A Druntime_options.md5 The following options are common among all problem types:
18 * - `-problem`
19 …- Problem to solve (`advection`, `density_current`, `euler_vortex`, `shocktube`, `blasius`, `chann…
166 - Run unit tests of Riemann problem solver and it's Jacobian
216 …here solution components can differ by many orders of magnitude, this can help problem conditioning
346 …., away from viscous walls), use `bc_freestream`, which solves a Riemann problem and can handle in…
363 …flow_type: pressure`, requires that the flow be a strict outflow (or the problem becomes ill-posed…
381 …ry integrals that cross the periodicity, such as for the outflow Riemann problem in the presence o…
/honee/examples/
H A Dnavierstokes.c8 // ./navierstokes -ceed /gpu/cuda -problem advection -degree 1
29 ProblemData problem = honee->problem_data; in main() local
37 PetscCall(BoundaryConditionSetUp(honee, problem, app_ctx)); in main()
86 PetscCall(CreateDM(honee, problem, mat_type, vec_type, &dm)); in main()
92 { // Run problem setup function in main()
95 PetscCheck(p, PETSC_COMM_SELF, 1, "Problem '%s' not found", app_ctx->problem_name); in main()
96 PetscCall((*p)(problem, dm, &honee)); in main()
100 PetscCall(SetUpDM(dm, problem, app_ctx->degree, app_ctx->q_extra, phys_ctx)); in main()
103 if (app_ctx->viz_refine) PetscCall(VizRefineDM(dm, honee, problem, phys_ctx)); in main()
120 PetscCall(SetupLibceed(ceed, dm, honee, app_ctx, problem)); in main()
[all …]
H A Dtaylor_green_vortex.yaml1 # -- General Problem Setup
2 problem: 'taylor_green'
H A Dchannel.yaml1 problem: 'channel'
/honee/src/spanstats/
H A Dcflpe.c18 …Operator(Honee honee, SpanStatsCtx spanstats, SpanStatsSetupData stats_data, ProblemData problem) { in CreateStatisticCollectionOperator() argument
86 …PetscCallCeed(ceed, CeedQFunctionContextGetData(problem->apply_vol_rhs.qfctx, CEED_MEM_HOST, &adve… in CreateStatisticCollectionOperator()
89 …PetscCallCeed(ceed, CeedQFunctionContextRestoreData(problem->apply_vol_rhs.qfctx, &advection_ctx)); in CreateStatisticCollectionOperator()
93 …PetscCallCeed(ceed, CeedQFunctionContextGetData(problem->apply_vol_rhs.qfctx, CEED_MEM_HOST, &newt… in CreateStatisticCollectionOperator()
96 …PetscCallCeed(ceed, CeedQFunctionContextRestoreData(problem->apply_vol_rhs.qfctx, &newtonian_ig_ct… in CreateStatisticCollectionOperator()
/honee/src/smartsim/
H A Dsgs_dd_training.c90 static PetscErrorCode SetupTrainingDataCalculation(Ceed ceed, Honee honee, ProblemData problem, SGS… in SetupTrainingDataCalculation() argument
116 …PetscCall(VelocityGradientProjectionSetup(ceed, honee, problem, STATEVAR_PRIMITIVE, elem_restr_fil… in SetupTrainingDataCalculation()
175 ProblemData problem = honee->problem_data; in SGS_DD_TrainingSetup() local
204 …PetscCallCeed(ceed, CeedQFunctionContextGetDataRead(problem->apply_vol_ifunction.qfctx, CEED_MEM_H… in SGS_DD_TrainingSetup()
206 …PetscCallCeed(ceed, CeedQFunctionContextRestoreDataRead(problem->apply_vol_ifunction.qfctx, &newt_… in SGS_DD_TrainingSetup()
285 PetscCall(SetupTrainingDataCalculation(ceed, honee, problem, sgs_dd_train_setup_data)); in SGS_DD_TrainingSetup()
/honee/.gitlab/issue_templates/
H A Dbug_report.md18 # Ratel problem specification

123