es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Error de variable de entorno al intentar crear un solucionador en OpenFOAM 9.

Estoy tratando de crear un solucionador en mi directorio /opt/OpenFOAM/OpenFOAM-9/applications/solvers/electromagnetics utilizando sudo foamNewSource App newSolver. Pero siempre obtengo el siguiente error:

foamNewSource: Creando el nuevo archivo de interfaz newSolver.C
wmakeFilesAndOptions error: Variable de entorno $WM_OPTIONS no establecida

Y luego, aunque puedo ver un archivo newSolver.C, no puedo ver un directorio Make ni los demás archivos.

Estoy utilizando EndeavourOS Linux x86_64 con kernel 5.15.6-arch2-1 y shell bash 5.1.12. He instalado el paquete openfoam-org desde AUR, y para configurarlo, tengo lo siguiente en mi archivo de configuración .bashrc:

source /opt/OpenFOAM/OpenFOAM-9/etc/bashrc

Al principio, cuando hacía env | grep WM no encontraba WM_OPTIONS en mi sistema. Así que, después de buscar un poco en Google, añadí esto a mi archivo .bashrc:


source /opt/OpenFOAM/OpenFOAM-9/etc/bashrc
export WM_OPTIONS=linux64GccDPOpt

Y ahora, al hacer env | grep WM obtengo:

WM_COMPILER=Gcc
WM_PRECISION_OPTION=DP
WM_PROJECT_USER_DIR=/home/username/OpenFOAM/username-9
WM_MPLIB=SYSTEMOPENMPI
WM_OPTIONS=linux64GccDPOpt
WM_ARCH=linux64
WM_LABEL_SIZE=32
WM_PROJECT=OpenFOAM
WM_THIRD_PARTY_DIR=/opt/OpenFOAM/ThirdParty-9
WM_LABEL_OPTION=Int32
WM_CC=gcc
WM_CFLAGS=-m64 -fPIC
WM_LINK_LANGUAGE=c++
WM_OSTYPE=POSIX
WM_PROJECT_VERSION=9
WM_DIR=/opt/OpenFOAM/OpenFOAM-9/wmake
WM_ARCH_OPTION=64
WM_CXXFLAGS=-m64 -fPIC -std=c++0x
WM_PROJECT_INST_DIR=/opt/OpenFOAM
WM_LDFLAGS=-m64
WM_CXX=g++
WM_COMPILE_OPTION=Opt
WM_PROJECT_DIR=/opt/OpenFOAM/OpenFOAM-9
WM_COMPILER_TYPE=system
WM_COMPILER_LIB_ARCH=64

Ahora puedo ver la variable de entorno WM_OPTIONS (justo arriba de WM_ARCH=linux64 y debajo de WM_MPLIB=SYSTEMOPENMPI), pero todavía obtengo el mismo error wmakeFilesAndOptions.

No sé qué configuración estoy modificando incorrectamente, ¡así que agradecería algo de ayuda!

¡Gracias!

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Solución para el error wmakeFilesAndOptions en OpenFOAM

    Descripción del problema

    El usuario está intentando crear un nuevo solucionador en OpenFOAM, pero se encuentra con el siguiente error:

    foamNewSource: Creando nuevo archivo de interfaz newSolver.C
    wmakeFilesAndOptions error: La variable de entorno $WM_OPTIONS no está definida
    

    Además, el usuario no puede ver un directorio Make y el resto de los archivos después de crear el nuevo solucionador.

    Diagnóstico

    El mensaje de error indica que la variable de entorno WM_OPTIONS no está definida, o al menos no está correctamente definida. Sin embargo, según el archivo .bashrc del usuario y la salida de env | grep WM, WM_OPTIONS está definida y establecida como linux64GccDPOpt. Esto sugiere que la variable se está estableciendo correctamente, pero por alguna razón, OpenFOAM no la reconoce.

    Solución

    Una posible causa de este problema es que el usuario no ejecutó el archivo .bashrc después de realizar cambios en él. Esto se puede solucionar ejecutando source ~/.bashrc o abriendo una nueva ventana de terminal.

    Si esto no resuelve el problema, el usuario puede intentar establecer WM_OPTIONS explícitamente al ejecutar foamNewSource. Por ejemplo:

    sudo WM_OPTIONS=linux64GccDPOpt foamNewSource App newSolver
    

    Alternativamente, el usuario puede intentar establecer WM_OPTIONS en el mismo comando que foamNewSource, de la siguiente manera:

    sudo foamNewSource -wmopts=linux64GccDPOpt App newSolver
    

    Además, si el usuario todavía no puede ver el directorio Make y otros archivos después de crear el nuevo solucionador, puede ser necesario ejecutar wmake manualmente. Esto se puede hacer navegando al directorio del solucionador (/opt/OpenFOAM/OpenFOAM-9/applications/solvers/electromagnetics/newSolver en este caso) y ejecutando wmake. Es posible que el usuario necesite establecer WM_OPTIONS nuevamente antes de ejecutar wmake.

    Si ninguna de estas soluciones funciona, el usuario puede considerar reinstalar OpenFOAM o buscar ayuda en la comunidad de OpenFOAM.

Comments are closed.