nosolid_cells

Module

Description

$Id$

This module add solid (as in no-fluid) cells in the domain. This can be used e.g. in order to simulate a cylinder in a cross flow.

** AUTOMATIC CPARAM.INC GENERATION ************************ Declare (for generation of cparam.inc) the number of f array variables and auxiliary variables added by this module

CPARAM logical, parameter :: lsolid_cells = .false. CPARAM logical, parameter :: lsolid_ogrid = .false.


Quick access

Types:

solid_object

Variables:

adjust_inear_cart, adjust_inear_cart_glob, adjust_inear_curv, adjust_inear_curv_glob, advance_solid_cells_position, ba, ba_defined, ba_shift, bc_thermo_type, bc_vel_type, boundary_x_10th, boundary_x_6th, boundary_x_8_6th, boundary_x_8th, boundary_x_central, boundconds_x_ogrid, boundconds_y_filter, boundconds_y_ogrid, boundconds_z_ogrid, c_dragx, c_dragx_p, c_dragy, c_dragy_p, c_dragz, c_dragz_p, calc_boundary_velocity, calc_diagnostics_solid, calc_diff_ib, calc_diff_visc_coef_ib, calc_heatcond_constchi_ogrid, calc_pencils_density_ogrid, calc_pencils_energy_ogrid, calc_pencils_eos_ogrid, calc_pencils_grid_ogrid, calc_pencils_hydro_ogrid, calc_pencils_viscosity_ogrid, calc_reaction_rate, calc_solid_cells_chemistry, calculate_shift_matrix, centr_line, char_consumption, charac_len, check_cyl_pos, close_interpolation_method, coefa, coefb, communicate_filter_zones, communicate_ip_cart_to_curv, communicate_ip_curv_to_cart, construct_grid_ogrid, construct_serial_bdry_cartesian, construct_serial_bdry_curv, create_curv_cart_transform, cv, cylinder_theta, cylinder_xvel, cylinder_yvel, del2v_etc_ogrid, denergy_dt_ogrid, dfs, dim_stl, dlnrho_dt_ogrid, dot2_ogrid, drag_coeffs, drag_force_pencils, duu_dt_ogrid, find_closest_wall, find_low_gp_index_bisection, find_near_ind_global_cart, find_near_ind_global_curv, find_near_ind_local_cart, find_near_ind_local_curv, find_point, find_proc_cartesian, find_proc_curvilinear, find_solid_cell_boundaries, find_unit_vectors, fpnearestgrid, fs, gaunoise_ogrid, geometryfile, get_grid_mn_ogrid, get_mu1_full_ib, get_polar_coords, get_polar_coords_2d, get_polar_coords_3d, get_polar_coords_3d_alt, get_xx_ib, heat_cond, ib_nearest_grid, ichemsco, ichemsco2, ichemsn2, ichemso2, idiag_c_dragx, idiag_c_dragx_p, idiag_c_dragy, idiag_c_dragy_p, idiag_c_dragz, idiag_c_dragz_p, idiag_nusselt, ind_global_to_local_cart, ind_global_to_local_curv, ineargridshift, initialize_eos_ogr, initialize_grid_ogrid, initialize_interpolate_points, initialize_pade_filter, initialize_particles_ogrid, initialize_pencils_ogrid, initialize_send_ip_points_alt, input_snap_ogrid, interp_lagrange, interp_point_curv_to_cart_alt, interpolate_linear_ogrid, interpolate_ogrid_near, interpolate_ogrid_near_mom, interpolate_particles_ogrid, interpolate_point, interpolate_point_cart_to_curv, interpolate_point_curv_to_cart, interpolate_pseudocubic, interpolate_pseudoquad, interpolate_quad_ogrid, interpolate_quadratic_sp_og, inverse_grid_ogrid, irhocount, irs, isco, isco2, isn2, iso2, its, ius, ivs, iws, ixs, iys, izs, lcheck_ba, lclose_interpolation, lclose_linear, lclose_quad_rad_inter, lerror_norm, lfull_diff_ib, limit_close_linear, linear_interpolate_cartesian, linear_interpolate_curvilinear, linear_interpolate_ogrid, linear_interpolate_quadratic, lineelement, lloc_c_press_output, lloc_density_output, lloc_nusselt_output, lloc_temp_output, lnointerception, lnusselt_output, loc_coor_utvec, locchemspec_error, locdensity_error, loutput_local_reaction_rate, lpos_advance, lradius_advance, lsco, lsco2, lsecondorder_chem, lsecondorder_rho, lsimple_diff_ib, lsn2, lso2, map_nearest_grid_ogrid, max_items, maxterm, mdot_c_coeffs, mdot_c_pencils, mspecies, n_lines, new_stefan, nforcepoints, nlat, nlong, nobjects, norm_line, nrectangles, nspheres, nsvar, nusselt, nusselt_coeffs, nusselt_pencils, object_skin, objects, osci_a, osci_dir, osci_f, osci_t, output_snap_form_ogrid, output_snap_ogrid, pade_filter, pde_ogrid, poly_interp_cart, poly_interp_curv, pressure0, r_int_outer, r_theta_phi_velocity_in_point, radius_ogrid, read_snap_double_ogrid, read_snap_ogrid, read_snap_single_ogrid, read_snapshot_solid_cells, real_to_index_ogrid, reverse_normal_value, rhosum, rsnap_ogrid, run_tests_ogrid, sc_diags_reductions, sc_init_diag_accum, sc_init_reduc_pointers, scale_stl, scp, set_interpolation_limits, setup_mm_nn_ogrid, solid_ds, solid_dt, solid_flux, solid_object, solid_phi, solid_reactions_intro_time, solid_temp, solid_tempflux, solid_theta, solid_vel, solid_xpos, solid_ypos, solid_zpos, sphere_phi, sphere_temp, sphere_theta, sphere_xpos, sphere_xvel, sphere_ypos, sphere_yvel, sphere_zpos, sphere_zvel, srho, sum_line, svarname, theta_shift, time_step_ogrid, tol_stl, transform_curv_to_cart, tx_stl, ty_stl, u_dot_grad_ogrid, update_ghosts_ogrid, update_ogrid_flow_info, vertex, vs_normal, write_reactions, write_snapshot_solid_cells, wsnap_ogrid, wsnap_solid_cells, xmax_stl, xmin_stl, ymax_stl, ymin_stl

Routines:

calc_diagnostics_solid(), calc_matrix(), close_interpolation(), dsolid_dt(), dsolid_dt_integrate(), find_closest_grid_plane(), find_corner_points(), find_ib_point(), find_ib_point_mir(), find_near_indeces(), find_projection(), find_solid_cell_boundary(), fp_nearest_grid(), freeze_solid_cells(), get_stl_data(), in_solid_cell(), init_solid_cells(), initialize_solid_cells(), interpolate_idw(), interpolate_matrix(), interpolate_particles_ogrid(), is_point_on_line(), map_nearest_grid_ogrid(), output_solid_cells(), pencil_criteria_solid_cells(), read_solid_cells_init_pars(), read_solid_cells_run_pars(), register_solid_cells(), rprint_solid_cells(), sc_diags_reductions(), sc_init_reduc_pointers(), solid_cells_clean_up(), solid_cells_timestep_first(), solid_cells_timestep_second(), time_step_ogrid(), update_solid_cells(), update_solid_cells_pencil(), write_solid_cells_init_pars(), write_solid_cells_run_pars(), wsnap_ogrid()

Needed modules

Variables

  • solid_cells/r_int_outer [real,public]
  • solid_cells/r_ogrid [real,public]
  • solid_cells/xorigo_ogrid (3) [real,public]

Subroutines and functions

subroutine  solid_cells/register_solid_cells()

Dummy routine

subroutine  solid_cells/initialize_solid_cells(f)

19-nov-08/nils: dummy

Parameters:

f (mx,my,mz,mfarray) [real]

Call to:

in_solid_cell()

subroutine  solid_cells/init_solid_cells(f)

Initial conditions for cases where we have solid structures in the domain. Typically the flow field is set such that we have no-slip conditions at the solid structure surface.

28-nov-2008/nils: coded

Parameters:

f (mx,my,mz,mfarray) [real]

Call to:

in_solid_cell()

subroutine  solid_cells/update_solid_cells(f)

Set the boundary values of the solid area such that we get a correct fluid-solid interface.

19-nov-08/nils: dummy

Parameters:

f (mx,my,mz,mfarray) [real]

Call to:

in_solid_cell()

subroutine  solid_cells/update_solid_cells_pencil(f)

Set the boundary values of the solid area such that we get a correct fluid-solid interface.

30-mar-15/Joergen+nils: dummy

Parameters:

f (mx,my,mz,mfarray) [real]

Call to:

in_solid_cell()

subroutine  solid_cells/freeze_solid_cells(df)

If we are in a solid cell set df=0 for all variables

19-nov-08/nils: dummy

Parameters:

df (mx,my,mz,mvar) [real]

Call to:

in_solid_cell()

function  solid_cells/in_solid_cell(part_pos, part_rad)

Check if the position px,py,pz is within a colid cell

02-dec-2008/nils: coded

Parameters:
  • part_pos (3) [real]

  • part_rad [real]

Return:

in_solid_cell [logical]

subroutine  solid_cells/read_solid_cells_init_pars(iomsg)
Parameters:

iomsg [character,out]

subroutine  solid_cells/write_solid_cells_init_pars(unit)
Parameters:

unit [integer,in]

subroutine  solid_cells/read_solid_cells_run_pars(iomsg)
Parameters:

iomsg [character,out]

subroutine  solid_cells/write_solid_cells_run_pars(unit)
Parameters:

unit [integer,in]

subroutine  solid_cells/dsolid_dt(f, df, p)
Parameters:
subroutine  solid_cells/calc_diagnostics_solid(p)
Parameters:

p [pencil_case,in]

subroutine  solid_cells/dsolid_dt_integrate()

dummy routine

subroutine  solid_cells/rprint_solid_cells(lreset[, lwrite])

reads and registers print parameters relevant for solid cells dummy routine

mar-2009/kragset: coded

Parameters:
  • lreset [logical]

  • lwrite [logical]

subroutine  solid_cells/pencil_criteria_solid_cells()

All pencils that the Solid_Cells module depends on are specified here.

mar-2009/kragset: dummy

subroutine  solid_cells/close_interpolation(f, ix0, iy0, iz0, icyl, xxp, f_tmp, fluid_point)
Parameters:
  • f (mx,my,mz,mfarray) [real,in]

  • ix0 [integer,in]

  • iy0 [integer,in]

  • iz0 [integer,in]

  • icyl [integer,in]

  • xxp (3) [real,in]

  • f_tmp (mvar) [real,inout]

  • fluid_point [logical,in]

subroutine  solid_cells/solid_cells_clean_up()

Dummy routine.

subroutine  solid_cells/solid_cells_timestep_first(f)

Setup dfs in the beginning of each itsub.

Parameters:

f (mx,my,mz,mfarray) [real]

subroutine  solid_cells/solid_cells_timestep_second(f, int_dt, int_ds)

Time evolution of solid_cells variables.

Parameters:
subroutine  solid_cells/time_step_ogrid(f)

Dummy routine

Parameters:

f (mx,my,mz,mfarray) [real]

subroutine  solid_cells/wsnap_ogrid(chsnap[, enum[, flist]])

Dummy routine

Parameters:
  • chsnap [character,in]

  • enum [logical,in,]

  • flist [character,in,]

subroutine  solid_cells/map_nearest_grid_ogrid(xxp, ineargrid_ogrid, rthz)

Dummy routine

Parameters:
  • xxp (3) [real,in]

  • ineargrid_ogrid (4) [integer,out]

  • rthz (3) [real,in]

subroutine  solid_cells/interpolate_particles_ogrid(ivar1, ivar2, xxp, gp, inear_glob)

Dummy routine

Parameters:
  • ivar1 [integer,in]

  • ivar2 [integer,in]

  • xxp (3) [real,in]

  • gp (1 - ivar1 + ivar2) [real,out]

  • inear_glob (4) [integer,in]

subroutine  solid_cells/sc_diags_reductions()

30-mar-23/TP: Dummy

subroutine  solid_cells/sc_init_reduc_pointers()

30-mar-23/TP: Dummy