2685
2685
attribute name { "free_surface" },
2687
## The default free_surface implements the physical boundary
2688
## condition p=0 (this is full pressure without subtracting the hydrostatic component)
2689
## For viscous fluids the correct boundary condition is a no normal
2690
## stress condition, which includes a viscosity term. When using
2691
## this option a prognostic FreeSurface field is required.
2692
element no_normal_stress {
2693
## Treat the free surface evolution equation separately from the momentum equation.
2694
## i.e. stagger the solves.
2696
## Requires a prognostic FreeSurface field.
2701
## When selected the density at the surface is calculated using the Density field. Therefore
2702
## this requires a Density field!
2703
element variable_density {
2706
## When selected a hydrostatic pressure distribution on the outside is assumed
2707
## using the specified density, i.e. instead of applying p=0 (resp.
2708
## normal_stress=0) we apply p=p_external (resp. normal_stress=p_external) where p_external is determined by dp_external/dz=external_density*g
2709
element external_density {
2687
2712
## This options adds a surface stabilisation term to the free surface. Works only for cg velocity so far.
2688
2713
## Note: Once activated, the stabilisation term will occur in all free surface areas in the domain.
2689
2714
## IN DEVELOPMENT
2817
2842
attribute name { "log_law_of_wall" },
2818
2843
element surface_roughness {real}
2845
## Flux boundary condition.
2847
## Weakly enforces a flux across a boundary
2849
attribute name { "flux" },
2850
element align_bc_with_cartesian {
2851
element x_component {
2852
input_choice_real_bc_component
2854
element y_component {
2855
input_choice_real_bc_component
2857
element z_component {
2858
input_choice_real_bc_component
3387
3429
## Free Surface
3388
## NOTE: if you are using the free_surface boundary condition
3389
## applied to the Velocity field (recommended), you should not
3390
## use the prognostic FreeSurface field. In this case you may
3391
## (optionally) add a diagnostic FreeSurface field.
3430
## Use in combination with a free_surface boundary condition on velocity
3431
## Without the no_normal_stress option, this field should be diagnostic
3432
## and is optional. With the no_normal_stress option this field is required
3433
## and should be prognostic.
3392
3434
element scalar_field {
3393
3435
attribute rank { "0" },
3394
3436
attribute name { "FreeSurface" },
3396
3438
## Free Surface
3397
3439
## NOTE: the diagnostic FreeSurface field only works in combination
3398
3440
## with the free_surface boundary condition applied to the Velocity
3399
## field. It gives you a 3D field (constant over the vertical)
3441
## field, without the no_normal_stress_option.
3442
## It gives you a full dimensional field (constant over the vertical)
3400
3443
## of the free surface elevation.
3401
3444
element diagnostic {
3402
3445
internal_algorithm,
3403
# this is hard-coded on the PressureMesh as long as the Pressure is
3404
# if this is no longer true, it should be option-checked to be on the
3405
# same mesh as Pressure
3406
3446
## Must be on the same mesh as Pressure
3407
3447
pressure_mesh_choice,
3408
3448
diagnostic_scalar_field
3451
## NOTE: the prognostic FreeSurface field only works in combination
3452
## with the free_surface boundary condition applied to the Velocity
3453
## field in combination with the no_normal_stress_option.
3454
## It gives you a full dimensional field (constant over the vertical)
3455
## of the free surface elevation. Initial and boundary conditions
3456
## for free surface should be set on this field.
3457
element prognostic {
3458
## Must be on the same mesh as Pressure
3459
pressure_mesh_choice,
3461
## Initial condition for WholeMesh
3463
## Only specify one condition if not using mesh regions.
3464
## Otherwise select other initial_condition option, specify region_ids
3465
## and distinct names. Then add extra intial conditions for other regions.
3466
element initial_condition {
3467
attribute name { "WholeMesh" },
3468
input_choice_initial_condition_real
3470
## Multiple initial_conditions are allowed if specifying
3471
## different values in different
3472
## regions of the mesh (defined by region_ids). In this case
3473
## each initial_condition
3474
## requires a distinct name for the options dictionary.
3475
element initial_condition {
3476
attribute name { string },
3478
input_choice_initial_condition_real
3481
## Solver - only necessary in combination with an explicit no_normal_stress free_surface bc under Velocity.
3483
linear_solver_options_sym
3485
prognostic_scalar_output_options,
3486
prognostic_scalar_stat_options,
3487
scalar_convergence_options,
3488
prognostic_detector_options,
3489
scalar_steady_state_options,
3490
adaptivity_options_prognostic_scalar_field,
3491
interpolation_algorithm_scalar