Al realizar operaciones preparatorias para análisis cfD o efeem, a menudo es necesario especificar parámetros vectoriales. Las constantes vectoriales son fáciles de manejar:
myMesh --direction "$DIR"
Sin embargo, se vuelve rápidamente complicado si los vectores tienen que ser manipulados, por ejemplo, multiplicados por escalares o rotados.
Una solución potente es utilizar el clon de Matlab, Octave, para realizar las operaciones. Dos características de Octave son útiles en este contexto:
- la opción de línea de comandos “–eval” para especificar la expresión a manejar
- la función “disp” para mostrar los resultados en formato plano en una sola línea
Un ejemplo:
DIR="1 0 0" VELOCITY=$(octave --eval "disp( 11.*[$DIR] )") myMesh --direction "$DIR" mySolver --velocity "$VELOCITY"
Son posibles operaciones más complicadas. Aunque hay que tener cuidado para producir vectores de línea como resultados. La rotación como ejemplo:
DIR="1 0 0" ANG=45 DIR_ROT=$(octave --eval "pkg load linear-algebra; disp( (rotv([0 0 1],$ANG*pi/180)*[$DIR]')' )") myMesh --direction " $DIR_ROT"

