CONFIG LIB 1.5
Configuration Files Library (by TGG 2020)
Loading...
Searching...
No Matches
NGH_FILE Class Reference

Parameters file for Neigh program - wake and neighbours calculation. More...

#include <panukl_ngh.h>

Inheritance diagram for NGH_FILE:
IOFUN

Public Member Functions

void Clean (void)
 cleans local variables
 
int ReadNGH (char *FileName)
 reads parameters [.ngh] file
 
int WriteNGH (char *Filename)
 writes parameters [.ngh] file
 

Public Attributes

char INP_file [256]
 data (mesh) file [.INP] - input
 
char DAT_file [256]
 data (mesh+wake) file [.DAT] - output
 
double dAlfa
 angle of attack [deg] - active in case iWakeType = 1,3,4,6
 
double dBeta
 sideslip angle [deg] - active in case iWakeType = 2,3,5,6
 
double dAngleTE
 angle of trailing edge [deg], which determines wake creation (Kutta-Joukovsky condition)
 
double dAngleNGH
 max. value of angle [deg] (max. 90) between panels for which panels are treated as neighbouring
 
double dLastPanel
 length of wake - MAC multiplicator (default 20)
 
int iWakeType
 Type of wake:
0 - wake paralel to MAC,
1 - wake with downwash due to angle of attack,
2 - wake with downwash due to sideslip angle,
3 - wake parallel to the freestream,
4-6 - wake with the same effect as in cases 1-3 but only for last wake panels.
 
char NGH_file [256]
 name of current [.ngh] file
 

Additional Inherited Members

- Static Public Member Functions inherited from IOFUN
static void Win2Unix (char *s)
 conversion of directory separators - MS Windows to Unix
 
static void Unix2Win (char *s)
 conversion of directory separators - Unix to MS Windows
 
static int ReadComm (FILE *stream)
 Function to read of a comment till the end of line. It returns 0 or EOF if it is performed.
 
static void ReadDummy (FILE *stream)
 Function to read a comment line.
 
static int ReadPar (FILE *stream, const char *Format, void *Par)
 Function to read one variable. The type of variable depends on Format, compatible with stdio library.
 
static int ReadPar (FILE *stream, const char *Format, void *Par1, void *Par2)
 Function to read two variables. The type of variables depends on Format, compatible with stdio library.
 
static int ReadPar (FILE *stream, const char *Format, void *Par1, void *Par2, void *Par3)
 Function to read three variables. The type of variables depends on Format, compatible with stdio library.
 
static int ReadPar (FILE *stream, const char *Format, void *Par1, void *Par2, void *Par3, void *Par4)
 Function to read four variables. The type of variables depends on Format, compatible with stdio library.
 
static int ReadVect3 (FILE *stream, double *Par, double dScal=1.)
 Function to read double vector "Par" of "3" dimension from FILE "stream". The read values are scaled by multiplier "dScal".
 
static int ReadVect3 (FILE *stream, float *Par, float fScal=1.)
 Function to read float vector "Par" of "3" dimension from FILE "stream". The read values are scaled by multiplier "fScal".
 
static int ReadVect3 (FILE *stream, long *Par, long lScal=1)
 Function to read long vector "Par" of "3" dimension from FILE "stream". The read values are scaled by multiplier "lScal".
 
static int ReadVect3 (FILE *stream, int *Par, int iScal=1)
 Function to read int vector "Par" of "3" dimension from FILE "stream". The read values are scaled by multiplier "iScal".
 
static int ReadVect (FILE *stream, double *Par, int n, double dScal=1.)
 Function to read double vector "Par" of "n" dimension from FILE "stream". The read values are scaled by multiplier "dScal".
 
static int ReadVect (FILE *stream, float *Par, int n, float fScal=1.)
 Function to read float vector "Par" of "n" dimension from FILE "stream". The read values are scaled by multiplier "fScal".
 
static int ReadVect (FILE *stream, long *Par, int n, long lScal=1)
 Function to read long vector "Par" of "n" dimension from FILE "stream". The read values are scaled by multiplier "lScal".
 
static int ReadVect (FILE *stream, int *Par, int n, int iScal=1)
 Function to read int vector "Par" of "n" dimension from FILE "stream". The read values are scaled by multiplier "iScal".
 
static int ReadStr (FILE *stream, char *Par)
 Function to read the new line from FILE "stream" and to store it in table of char "Par". The starting and ending blanc charaters are clipped.
 
static void ReadStrL (FILE *stream, char *Par, int *len)
 Function to read the string (Par) from FILE "stream". It reads from current pointer of FILE to the end of line or EOF. Number of read characters is returned in "len".
 
static void ClipString (char *string)
 Clipping of the "string" up to the first blanc character or comment "#" character.
 
static void ClipFileName (char *string)
 Clipping of the ending blanc characters of "string".
 
static bool CompareStrings (char *str1, char *str2)
 Compares two strings (str1 and str2). Returns true if they match, false otherwise.
 
static int file_exist (const char *name)
 Returns true (1) if file "name" does exist, 0 otherwise.
 
static const char * filename_name (const char *name)
 Returns pointer to filename without path.
 
static const char * filename_ext (const char *buf)
 Returns pointer to filename extension.
 
static char * filename_setext (char *buf, int buflen, const char *ext)
 set/change filename extension
 
static int filename_dir (char *name)
 returns the length of the path in (path)name
 
static const char * filename_date (const char *name)
 Returns pointer to the string that contains the date of last file modification/creation.
 
static FILE * fopen (const char *filename, const char *mode)
 Cross-platform function to fopen function that supports UTF-8 encoded name.
 
static int stat (const char *f, struct stat *b)
 Cross-platform function to stat() a file using a UTF-8 encoded name or value.
 
static size_t strlcpy (char *d, const char *s, size_t bufsize)
 The implementation of nonstandard strlcpy function.
 
static int nLines (FILE *stream)
 Returns number of lines of text file from current pointer to EOF.
 
static int nColumns (FILE *stream, char Par[][32])
 Returns number of columns of text file (number of strings in the first line). Names of columns are stored in Par array.
 
static int isstrblank (char *cc, int iLen)
 Checks if string (cc) is blank (1/0)
 
static void ReadVect3 (FILE *stream, VECTOR_3D *Vec, double dScal=1.)
 Function to read VECTOR_3D Vec components from FILE "stream". The read values are scaled by multiplier "dScal".
 
static int readln (FILE *ff, char *value_x)
 Pascal style "readln" function to read string.
 
static int readln (FILE *ff, int *value_x)
 Pascal style "readln" function to read int.
 
static int readln (FILE *ff, long *value_x)
 Pascal style "readln" function to read long.
 
static int readln (FILE *ff, float *value_x)
 Pascal style "readln" function to read float.
 
static int readln (FILE *ff, double *value_x)
 Pascal style "readln" function to read double.
 
static int readln (FILE *ff, long double *value_x)
 Pascal style "readln" function to read long double.
 
static int readln (FILE *ff)
 Pascal style "readln" function to read comment.
 
static int readln (FILE *ff, VECTOR_3D *vec)
 Pascal style "readln" function to read VECTOR_3D components.
 
static int read (FILE *ff, char *value_x)
 Pascal style "read" function to read string.
 
static int read (FILE *ff, int *value_x)
 Pascal style "read" function to read int.
 
static int read (FILE *ff, long *value_x)
 Pascal style "read" function to read long.
 
static int read (FILE *ff, float *value_x)
 Pascal style "read" function to read float.
 
static int read (FILE *ff, double *value_x)
 Pascal style "read" function to read double.
 
static int read (FILE *ff, long double *value_x)
 Pascal style "read" function to read long double.
 
static int read (FILE *ff, VECTOR_3D *vec)
 Pascal style "read" function to read VECTOR_3D components.
 

Detailed Description

Parameters file for Neigh program - wake and neighbours calculation.

Definition at line 27 of file panukl_ngh.h.

Constructor & Destructor Documentation

◆ NGH_FILE()

NGH_FILE::NGH_FILE ( void )

Definition at line 22 of file panukl_ngh.cpp.

22{ Clean(); }
void Clean(void)
cleans local variables

◆ ~NGH_FILE()

NGH_FILE::~NGH_FILE ( void )

Definition at line 24 of file panukl_ngh.cpp.

24{}

Member Function Documentation

◆ Clean()

void NGH_FILE::Clean ( void )

cleans local variables

Definition at line 26 of file panukl_ngh.cpp.

27{
28 memset( DAT_file, 0, 256 );
29 memset( INP_file, 0, 256 );
30 memset( NGH_file, 0, 256 );
31
32 dAlfa = 0.0;
33 dBeta = 0.0;
34 dAngleTE = 0.0;
35 dAngleNGH = 0.0;
36 dLastPanel = 0.0;
37 iWakeType = 0;
38}
double dLastPanel
length of wake - MAC multiplicator (default 20)
Definition panukl_ngh.h:38
double dAlfa
angle of attack [deg] - active in case iWakeType = 1,3,4,6
Definition panukl_ngh.h:34
double dAngleTE
angle of trailing edge [deg], which determines wake creation (Kutta-Joukovsky condition)
Definition panukl_ngh.h:36
double dBeta
sideslip angle [deg] - active in case iWakeType = 2,3,5,6
Definition panukl_ngh.h:35
char INP_file[256]
data (mesh) file [.INP] - input
Definition panukl_ngh.h:31
char NGH_file[256]
name of current [.ngh] file
Definition panukl_ngh.h:49
double dAngleNGH
max. value of angle [deg] (max. 90) between panels for which panels are treated as neighbouring
Definition panukl_ngh.h:37
int iWakeType
Type of wake: 0 - wake paralel to MAC, 1 - wake with downwash due to angle of attack,...
Definition panukl_ngh.h:47
char DAT_file[256]
data (mesh+wake) file [.DAT] - output
Definition panukl_ngh.h:32

◆ ReadNGH()

int NGH_FILE::ReadNGH ( char * FileName)

reads parameters [.ngh] file

Definition at line 40 of file panukl_ngh.cpp.

41{
42 FILE *File;
43 File = fopen( FileName, "r" );
44 if( File == NULL )
45 {
46 fprintf( stderr, "[.NGH] file open error to reading (%s)\n", FileName );
47 return (-1);
48 }
49
50 ReadPar( File, "%d", &iWakeType );
51 ReadPar( File, "%lf", &dAngleTE );
52 ReadPar( File, "%lf", &dAngleNGH );
53 ReadPar( File, "%lf", &dAlfa );
54 ReadPar( File, "%lf", &dBeta );
55 ReadPar( File, "%lf", &dLastPanel );
56 ReadStr( File, INP_file );
57 ReadStr( File, DAT_file );
58
59 fclose( File );
60
63
64 strcpy( NGH_file, FileName );
65
66 return (0);
67}
static FILE * fopen(const char *filename, const char *mode)
Cross-platform function to fopen function that supports UTF-8 encoded name.
Definition iofun.cpp:358
static void ClipFileName(char *string)
Clipping of the ending blanc characters of "string".
Definition iofun.cpp:250
static int ReadStr(FILE *stream, char *Par)
Function to read the new line from FILE "stream" and to store it in table of char "Par"....
Definition iofun.cpp:163
static int ReadPar(FILE *stream, const char *Format, void *Par)
Function to read one variable. The type of variable depends on Format, compatible with stdio library.
Definition iofun.cpp:67

◆ WriteNGH()

int NGH_FILE::WriteNGH ( char * Filename)

writes parameters [.ngh] file

Definition at line 69 of file panukl_ngh.cpp.

70{
71 FILE *File;
72 File = fopen( FileName, "w" );
73 if( File == NULL )
74 {
75 fprintf( stderr, "[.NGH] file open error to writing (%s)\n", FileName );
76 return (-1);
77 }
78
79 fprintf( File, "# Neigh program configuration file\n");
80 fprintf( File, "%d # wake type\n", iWakeType );
81 fprintf( File, "%6.2f # trailing edge angle\n", dAngleTE );
82 fprintf( File, "%6.2f # neighbour condition angle\n", dAngleNGH );
83 fprintf( File, "%6.2f # angle of attack\n", dAlfa );
84 fprintf( File, "%6.2f # sideslip angle\n", dBeta );
85 fprintf( File, "%6.2f # last panel length (MAC multiplication)\n", dLastPanel );
86 fprintf( File, "%s # input grid file\n", INP_file );
87 fprintf( File, "%s # output file - grid with wake and neighbours\n", DAT_file );
88
89 fclose( File );
90
91 return (0);
92}

Member Data Documentation

◆ dAlfa

double NGH_FILE::dAlfa

angle of attack [deg] - active in case iWakeType = 1,3,4,6

Definition at line 34 of file panukl_ngh.h.

Referenced by Clean(), ReadNGH(), and WriteNGH().

◆ dAngleNGH

double NGH_FILE::dAngleNGH

max. value of angle [deg] (max. 90) between panels for which panels are treated as neighbouring

Definition at line 37 of file panukl_ngh.h.

Referenced by Clean(), ReadNGH(), and WriteNGH().

◆ dAngleTE

double NGH_FILE::dAngleTE

angle of trailing edge [deg], which determines wake creation (Kutta-Joukovsky condition)

Definition at line 36 of file panukl_ngh.h.

Referenced by Clean(), ReadNGH(), and WriteNGH().

◆ DAT_file

char NGH_FILE::DAT_file[256]

data (mesh+wake) file [.DAT] - output

Definition at line 32 of file panukl_ngh.h.

Referenced by Clean(), ReadNGH(), and WriteNGH().

◆ dBeta

double NGH_FILE::dBeta

sideslip angle [deg] - active in case iWakeType = 2,3,5,6

Definition at line 35 of file panukl_ngh.h.

Referenced by Clean(), ReadNGH(), and WriteNGH().

◆ dLastPanel

double NGH_FILE::dLastPanel

length of wake - MAC multiplicator (default 20)

Definition at line 38 of file panukl_ngh.h.

Referenced by Clean(), ReadNGH(), and WriteNGH().

◆ INP_file

char NGH_FILE::INP_file[256]

data (mesh) file [.INP] - input

Definition at line 31 of file panukl_ngh.h.

Referenced by Clean(), ReadNGH(), and WriteNGH().

◆ iWakeType

int NGH_FILE::iWakeType

Type of wake:
0 - wake paralel to MAC,
1 - wake with downwash due to angle of attack,
2 - wake with downwash due to sideslip angle,
3 - wake parallel to the freestream,
4-6 - wake with the same effect as in cases 1-3 but only for last wake panels.

Definition at line 47 of file panukl_ngh.h.

Referenced by Clean(), ReadNGH(), and WriteNGH().

◆ NGH_file

char NGH_FILE::NGH_file[256]

name of current [.ngh] file

Definition at line 49 of file panukl_ngh.h.

Referenced by Clean(), and ReadNGH().


The documentation for this class was generated from the following files: