solid_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 = .true. 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

Types

  • type  solid_cells/solid_object
    Type fields:
    • % c_dragx (*) [real,target/allocatable]

    • % c_dragx_p (*) [real,target/allocatable]

    • % c_dragy (*) [real,target/allocatable]

    • % c_dragy_p (*) [real,target/allocatable]

    • % c_dragz (*) [real,target/allocatable]

    • % c_dragz_p (*) [real,target/allocatable]

    • % form [character]

    • % fpnearestgrid (,,*) [integer,allocatable] :: iproc=”, iproc

    • % idiag_c_dragx [integer,optional/default=0]

    • % idiag_c_dragx_p [integer,optional/default=0]

    • % idiag_c_dragy [integer,optional/default=0]

    • % idiag_c_dragy_p [integer,optional/default=0]

    • % idiag_c_dragz [integer,optional/default=0]

    • % idiag_c_dragz_p [integer,optional/default=0]

    • % idiag_nusselt [integer,optional/default=0]

    • % nusselt (*) [real,target/allocatable]

    • % objects (max_items) [solid_object]

    • % p_c_dragx (*) [real,pointer]

    • % p_c_dragx_p (*) [real,pointer]

    • % p_c_dragy (*) [real,pointer]

    • % p_c_dragy_p (*) [real,pointer]

    • % p_c_dragz (*) [real,pointer]

    • % p_c_dragz_p (*) [real,pointer]

    • % p_irhocount [integer,pointer]

    • % p_nusselt (*) [real,pointer]

    • % p_rhosum [real,pointer]

    • % r [real]

    • % r_int_outer [real]

    • % r_ogrid [real]

    • % t [real]

    • % x (3) [real]

    • % xorigo_ogrid (3) [real]

Variables

  • solid_cells/ampl_noise [real,private/optional/default=0.0]
  • solid_cells/ba (mx,my,mz,4) [integer,private]
  • solid_cells/ba_shift (mx,my,mz,4) [integer,private]
  • solid_cells/close_interpolation_method [integer,private/optional/default=1]
  • solid_cells/cylinder_radius (5) [real,private/optional/default=0.]
  • solid_cells/cylinder_temp (5) [real,private/optional/default=703.0]
  • solid_cells/cylinder_xpos (5) [real,private/optional/default=0.]
  • solid_cells/cylinder_ypos (5) [real,private/optional/default=0.]
  • solid_cells/cylinder_zpos (5) [real,private/optional/default=0.]
  • solid_cells/dummy [integer,private]
  • solid_cells/flow_dir [real,private/optional/default=0.0]
  • solid_cells/flow_dir_set [real,private/optional/default=0.0]
  • solid_cells/ineargridshift [real,private/optional/default=1]
  • solid_cells/initsolid_cells (ninit) [character,private/optional/default='nothing']
  • solid_cells/interpolation_method [character,private/optional/default='staircase']
  • solid_cells/irhocount [integer,private/target]
  • solid_cells/lcheck_ba [logical,private/optional/default=.false.]
  • solid_cells/lclose_interpolation [logical,private/optional/default=.false.]
  • solid_cells/lclose_linear [logical,private/optional/default=.false.]
  • solid_cells/lclose_quad_rad_inter [logical,private/optional/default=.true.]
  • solid_cells/limit_close_linear [real,private/optional/default=0.5]
  • solid_cells/lnointerception [logical,private/optional/default=.false.]
  • solid_cells/lset_flow_dir [logical,private/optional/default=.false.]
  • solid_cells/max_items [integer,private/parameter/optional/default=5]
  • solid_cells/ncylinders [integer,private/optional/default=0]
  • solid_cells/nforcepoints [integer,private/optional/default=200]
  • solid_cells/nlat [integer,private]
  • solid_cells/nlong [integer,private]
  • solid_cells/nobjects [integer,private]
  • solid_cells/nrectangles [integer,private]
  • solid_cells/nspheres [integer,private/optional/default=0]
  • solid_cells/object_skin [real,private/optional/default=0.0]
  • solid_cells/r_int_outer [public]
  • solid_cells/r_ogrid [public]
  • solid_cells/rhosum [real,private/target]
  • solid_cells/skin_depth [real,private/optional/default=0.0]
  • solid_cells/solid_object [private]
  • solid_cells/sphere_radius (5) [real,private/optional/default=0.]
  • solid_cells/sphere_temp (5) [real,private/optional/default=703.0]
  • solid_cells/sphere_xpos (5) [real,private/optional/default=0.]
  • solid_cells/sphere_ypos (5) [real,private/optional/default=0.]
  • solid_cells/sphere_zpos (5) [real,private/optional/default=0.]
  • solid_cells/t0 [real,private]
  • solid_cells/theta_shift [real,private/optional/default=0.01]
  • solid_cells/xorigo_ogrid [public]