MAG SSM Calc

Signed-off-by: Bernardo Carvalho <bernardo.carvalho@tecnico.ulisboa.pt>
This commit is contained in:
2024-12-09 15:33:14 +00:00
parent 86ac19ff83
commit a7def9d9e6
5 changed files with 281 additions and 26 deletions

View File

@@ -295,15 +295,19 @@ $MdsLoopApp = {
Class = IOGAM
InputSignals = {
TimeSdas = {
DataSource = FileReader_DS
DataSource = FileReaderDS
Type = uint32
}
Trigger = {
DataSource = FileReader_DS
DataSource = FileReaderDS
Type = uint32
}
LangmuirSignals = {
DataSource = FileReader_DS
DataSource = FileReaderDS
Type = float32
}
MagneticSignals = {
DataSource = FileReaderDS
Type = float32
}
}
@@ -320,7 +324,32 @@ $MdsLoopApp = {
DataSource = "DDB1"
Type = float32
NumberOfElements = 4
// NumberOfDimensions = 1
}
MagneticSignals = {
DataSource = "DDB1"
Type = float32
NumberOfElements = 12
NumberOfDimensions = 1
}
}
}
+GAMConvert2Double = {
Class = "ConversionGAM"
InputSignals = {
MagneticSignals = {
DataSource = "DDB1"
Type = float32
NumberOfElements = 12
}
}
OutputSignals = {
MagneticSignalsD = {
DataSource = "DDB1"
Type = float64
NumberOfElements = 12
NumberOfDimensions = 1
}
}
}
+GAMLangSigs= {
@@ -378,6 +407,119 @@ $MdsLoopApp = {
}
}
}
+GAMMagSigs= {
Class = IOGAM
InputSignals = {
MagneticSignalsD = {
DataSource = "DDB1"
Type = float64
NumberOfElements = 12
}
}
OutputSignals = {
MirnovD0 = {
DataSource = "DDB1"
Type = float64
}
MirnovD1 = {
DataSource = "DDB1"
Type = float64
}
MirnovD2 = {
DataSource = "DDB1"
Type = float64
}
MirnovD3 = {
DataSource = "DDB1"
Type = float64
}
MirnovD4 = {
DataSource = "DDB1"
Type = float64
}
MirnovD5 = {
DataSource = "DDB1"
Type = float64
}
MirnovD6 = {
DataSource = "DDB1"
Type = float64
}
MirnovD7 = {
DataSource = "DDB1"
Type = float64
}
MirnovD8 = {
DataSource = "DDB1"
Type = float64
}
MirnovD9 = {
DataSource = "DDB1"
Type = float64
}
MirnovD10 = {
DataSource = "DDB1"
Type = float64
}
MirnovD11 = {
DataSource = "DDB1"
Type = float64
}
}
}
+GAMSSM = {
Class = SSMGAM
StateMatrix = {{1.0 0}{0 1.0}} //Compulsory
InputMatrix = {{0 0 0 0}{0 0 0 0}} //Compulsory
OutputMatrix = {{0 0}} //Compulsory
FeedthroughMatrix = {{1 1 1 1}} //Optional
ResetInEachState = 1//Compulsory. 1> reset in each state, 0> reset if the previous state is different from the next state
SampleFrequency = 0.0001 // Currently optional and not used.
InputSignals = {
MirnovD0 = { //input of the SS
DataSource = "DDB1"
Type = float64 //Only supported type.
NumberOfElements = 1
NumberOfDimensions = 1 // or 0
Samples = 1
}
MirnovD1 = {
DataSource = "DDB1"
Type = float64 //Only supported type.
NumberOfElements = 1
NumberOfDimensions = 1
Samples = 1
}
MirnovD2 = {
DataSource = "DDB1"
Type = float64 //Only supported type.
NumberOfElements = 1
NumberOfDimensions = 1
Samples = 1
}
MirnovD3 = {
DataSource = "DDB1"
Type = float64 //Only supported type.
NumberOfElements = 1
NumberOfDimensions = 1
Samples = 1
}
}
OutputSignals = {
OutputSignalSSM = {
DataSource = "DDB1"
Type = float64
}
State0 = {
Type = float64
DataSource = "DDB1"
}
State1 = {
Type = float64
DataSource = "DDB1"
}
}
}
+GAMFileWriter = {
Class = IOGAM
InputSignals = {
@@ -401,28 +543,36 @@ $MdsLoopApp = {
DataSource = "DDB1"
Type = float32
}
OutputSignalSSM = {
DataSource = "DDB1"
Type = float64
}
}
OutputSignals = {
Time = {
DataSource = FileWriter_DS
Type = uint32
}
OutMdsW0 = {
OutLangW0 = {
DataSource = FileWriter_DS
Type = float32
}
OutMdsW1 = {
OutLangW1 = {
DataSource = FileWriter_DS
Type = float32
}
OutMdsW2 = {
OutLangW2 = {
DataSource = FileWriter_DS
Type = float32
}
OutMdsW3 = {
OutLangW3 = {
DataSource = FileWriter_DS
Type = float32
}
OutMag0 = {
DataSource = FileWriter_DS
Type = float64
}
}
}
@@ -452,9 +602,10 @@ $MdsLoopApp = {
}
}
}
+FileReader_DS = {
+FileReaderDS = {
Class = FileDataSource::FileReader
Filename = "../Analysis/LangmuirSdas_46241.csv"
// Filename = "../Analysis/LangmuirSdas_46241.csv"
Filename = "../Analysis/SdasData_46241.csv"
FileFormat = "csv"
CSVSeparator = ","
Interpolate = "no"
@@ -476,18 +627,22 @@ $MdsLoopApp = {
Time = {
Type = uint32
}
OutMdsW0 = {
OutLangW0 = {
Type = float32
}
OutMdsW1 = {
OutLangW1 = {
Type = float32
}
OutMdsW2 = {
OutLangW2 = {
Type = float32
}
OutMdsW3 = {
OutLangW3 = {
Type = float32
}
OutMag0 = {
Type = float64
Format = "e" //Optional. Any format specifier supported by FormatDescriptor (without '')
}
}
}
@@ -512,7 +667,7 @@ $MdsLoopApp = {
+Thread1 = {
Class = RealTimeThread
CPUs = 0x1
Functions = {GAMTimer GAMFileReader GAMLangSigs GAMElectricProbes GAMFileWriter }
Functions = {GAMTimer GAMFileReader GAMConvert2Double GAMMagSigs GAMSSM GAMLangSigs GAMElectricProbes GAMFileWriter }
}
}
}