# Inputs VortexAD uses an input dictionary to pass information to the main solver. The solver inputs build onto a default input dictionary; it is up to the user to provide any updated inputs in a python dictionary format. The input dictionary is stored above the `PanelMethod` class [here](https://github.com/LSDOlab/VortexAD/blob/main/VortexAD/core/pm_class.py#L15-L57), and is also shown below. ```python default_input_dict = { # flow properties 'V_inf': 10., # m/s 'Mach': None, 'sos': 340.3, # m/s, 'alpha': None, # user can provide grid of velocities as well 'rho': 1.225, # kg/m^3 'compressibility': False, # PG correction 'Cp cutoff': -5., # minimum Cp (numerical reasons) # mesh 'mesh_path': default_mesh_path, 'mesh_mode': 'unstructured', # collocation velocity 'collocation_velocity': False, # panel method conditions 'BC': 'Dirichlet', 'higher_order': False, # solver and wake mode; steady is fixed, unsteady is prescribed or free 'solver_mode': 'steady', 'wake_mode': 'fixed', # partition size for linear system assembly 'partition_size': 1, # GMRES linear system solve 'iterative': False, # ROM options 'ROM': False, # 'ROM-POD or ROM-Krylov # reusing AIC (no alpha dependence on wake) --> this only applies to fixed wake 'reuse_AIC': False, # others 'ref_area': 10., # reference area (l^2, l being the input length unit) 'ref_chord': 1., 'moment_reference': np.zeros(3), 'drag_type': 'pressure' # pressure or Trefftz (not implemented yet) } ``` The table below summarizes each input. This work is still in development; any inputs noted with (WIP) signify that they are a work in progress. | Key | Meaning | Default | Units | Shape/Type | Options | |:---|:---|:---|:---|:---|:---| | V_inf | Freestream velocity | 10 | m/s | scalar/vector/tensor | N/A | | Mach | Mach number | None | None | scalar/vector/tensor | N/A | | sos | Speed of sound | 340.3 | m/s | scalar/vector/tensor | N/A | | alpha | Inflow angle | None | degrees | scalar/vector/tensor | N/A | | rho | Fluid density | 1.225 | kg/m^3 | scalar/vector/tensor | N/A | | compressibility | Compressibility
correction | False | N/A | string | (False, True) | | Cp cutoff | Pressure coefficient
minimum cutoff | -5. | None | scalar | N/A | | mesh_path | Path to mesh file | [path to this file](https://github.com/LSDOlab/VortexAD/blob/main/VortexAD/core/geometry/sample_meshes/pm/naca0012_LE_TE_cluster.stl) | N/A | string | N/A | | mesh_mode | Mesh type | unstructured | N/A | string | (structured, unstructured) | | BC | Boundary condition | Dirichlet | N/A | string | (Dirichlet, Neumann (WIP)) | | higher_order (WIP)| Higher-order methods | False | N/A | bool | (False, True) | | solver_mode | Steady or unsteady | 'steady' | N/A | string | ('steady', 'unsteady' (WIP)) | | wake_mode | Mode for wake | 'fixed' | N/A | string | ('fixed', 'prescribed', 'free') | | partition_size | AIC assembly
partition size | 1 | N/A | int | [1, total panels] | | iterative (WIP)| Flag to toggle
GMRES iterative solver | False | N/A | bool | (False, True) | | ROM | Flag to toggle ROMs | False | N/A | (string, bool) | (False, 'ROM-POD', 'ROM-Krylov' (WIP)) | | reuse_AIC | Flag to reuse AIC
across evaluations | False | N/A | bool | (False, True) | | ref_area | Reference area
for coefficients | 10. | m^2 | scalar | N/A | | ref_chord | Reference chord
for coefficients | 1. | m | scalar | N/A | | moment_reference | Moment reference point | np.array([0., 0., 0.]) | m | (3,) | N/A | | drag_type | Method to compute drag | 'pressure' | N/A | string | ('pressure', 'Trefftz' (WIP)) |