OpenVSP API Documentation  3.38.0
Functions
General Computation Functions

The following group of API functions are available for general computations. In general, it is best practice to perform computations through the the Analysis group instead of calling these functions directly. Click here to return to the main page. More...

Functions

std::string vsp::ComputeMassProps (int set, int num_slices, int idir)
 
std::string vsp::ComputeCompGeom (int set, bool half_mesh, int file_export_types)
 
std::string vsp::ComputePlaneSlice (int set, int num_slices, const vec3d &norm, bool auto_bnd, double start_bnd=0, double end_bnd=0, bool measureduct=false)
 
void vsp::ComputeDegenGeom (int set, int file_export_types)
 

Detailed Description

Function Documentation

◆ ComputeCompGeom()

std::string vsp::ComputeCompGeom ( int  set,
bool  half_mesh,
int  file_export_types 
)

Mesh, intersect, and trim components in the set. Alternatively can be run through the Analysis Manager with 'CompGeom'.

//==== Add Pod Geom ====//
string pid = AddGeom( "POD", "" );
//==== Run CompGeom And Get Results ====//
string mesh_id = ComputeCompGeom( SET_ALL, false, 0 ); // Half Mesh false and no file export
string comp_res_id = FindLatestResultsID( "Comp_Geom" ); // Find Results ID
array<double> @double_arr = GetDoubleResults( comp_res_id, "Wet_Area" ); // Extract Results
std::string ComputeCompGeom(int set, bool half_mesh, int file_export_types)
@ SET_ALL
Definition: APIDefines.h:1093
std::string AddGeom(const std::string &type, const std::string &parent=std::string())
const std::vector< double > & GetDoubleResults(const std::string &id, const std::string &name, int index=0)
std::string FindLatestResultsID(const std::string &name)
See also
SetAnalysisInputDefaults, PrintAnalysisInputs, ExecAnalysis, COMPUTATION_FILE_TYPE
Parameters
[in]setSet index (i.e. SET_ALL)
[in]half_meshFlag to ignore surfaces on the negative side of the XZ plane (e.g. symmetry)
[in]file_export_typesCompGeom file type to export (supports XOR i.e. COMP_GEOM_CSV_TYPE & COMP_GEOM_TXT_TYPE )
Returns
MeshGeom ID

◆ ComputeDegenGeom()

void vsp::ComputeDegenGeom ( int  set,
int  file_export_types 
)

Compute the degenerate geometry representation for the components in the set. Alternatively can be run through the Analysis Manager with 'DegenGeom' or 'VSPAERODegenGeom'.

//==== Set File Name ====//
SetComputationFileName( DEGEN_GEOM_CSV_TYPE, "TestDegenScript.csv" );
//==== Run Degen Geom ====//
ComputeDegenGeom( SET_ALL, DEGEN_GEOM_CSV_TYPE );
void SetComputationFileName(int file_type, const std::string &file_name)
void ComputeDegenGeom(int set, int file_export_types)
See also
SetAnalysisInputDefaults, PrintAnalysisInputs, ExecAnalysis, COMPUTATION_FILE_TYPE
Parameters
[in]setint Set index (i.e. SET_ALL)
[in]file_export_typesint DegenGeom file type to export (supports XOR i.e DEGEN_GEOM_M_TYPE & DEGEN_GEOM_CSV_TYPE)

◆ ComputeMassProps()

std::string vsp::ComputeMassProps ( int  set,
int  num_slices,
int  idir 
)

Compute mass properties for the components in the set. Alternatively can be run through the Analysis Manager with 'MassProp'.

//==== Test Mass Props ====//
string pid = AddGeom( "POD", "" );
string mesh_id = ComputeMassProps( SET_ALL, 20, X_DIR );
string mass_res_id = FindLatestResultsID( "Mass_Properties" );
array<double> @double_arr = GetDoubleResults( mass_res_id, "Total_Mass" );
if ( double_arr.size() != 1 ) { Print( "---> Error: API ComputeMassProps" ); }
std::string ComputeMassProps(int set, int num_slices, int idir)
@ X_DIR
Definition: APIDefines.h:308
See also
SetAnalysisInputDefaults, PrintAnalysisInputs, ExecAnalysis
Parameters
[in]setSet index (i.e. SET_ALL)
[in]num_slicesNumber of slices
[in]idirDirection of slicing for integration
Returns
MeshGeom ID

◆ ComputePlaneSlice()

std::string vsp::ComputePlaneSlice ( int  set,
int  num_slices,
const vec3d norm,
bool  auto_bnd,
double  start_bnd = 0,
double  end_bnd = 0,
bool  measureduct = false 
)

Slice and mesh the components in the set. Alternatively can be run through the Analysis Manager with 'PlanarSlice'.

//==== Add Pod Geom ====//
string pid = AddGeom( "POD", "" );
//==== Test Plane Slice ====//
string slice_mesh_id = ComputePlaneSlice( 0, 6, vec3d( 0.0, 0.0, 1.0 ), true );
string pslice_results = FindLatestResultsID( "Slice" );
array<double> @double_arr = GetDoubleResults( pslice_results, "Slice_Area" );
if ( double_arr.size() != 6 ) { Print( "---> Error: API ComputePlaneSlice" ); }
Definition: Vec3d.h:235
std::string ComputePlaneSlice(int set, int num_slices, const vec3d &norm, bool auto_bnd, double start_bnd=0, double end_bnd=0, bool measureduct=false)
See also
SetAnalysisInputDefaults, PrintAnalysisInputs, ExecAnalysis
Parameters
[in]setSet index (i.e. SET_ALL)
[in]num_slicesNumber of slices
[in]normNormal axis for all slices
[in]auto_bndFlag to automatically set the start and end bound locations
[in]start_bndLocation of the first slice along the normal axis (default: 0.0)
[in]end_bndLocation of the last slice along the normal axis (default: 0.0)
[in]measureductFlag to measure negative area inside positive area (default: false)
Returns
MeshGeom ID