Design do mecanismo e dinâmica do mecanismo > Mechanism Dynamics > Cargas personalizadas > Sobre as funções de carregamento personalizado
Sobre as funções de carregamento personalizado
Quando um aplicativo de carga personalizada é iniciado, mudanças entre o aplicativo e Mechanism Dynamics são feitas por meio de chamadas de função diretas. Algumas funções são chamadas do aplicativo de carga personalizados por Mechanism Dynamics. Outras são fornecidas pelo Mechanism Dynamics e pode ser chamada pelo aplicativo de carga personalizada. Cada função pode ter um número de argumentos opcionais que podem ser adicionados à sua definição de função quando necessário.
As informações a seguir descrevem rapidamente as funções específicas do aplicativo de carga personalizada.
Funções fornecidas pelo aplicativo de carga personalizada e criadas por desenvolvedores de carga personalizada:
CLUSEREvalCustomLoad()
CLUSERDefineInit()
CLUSERRunInit()
CLUSERGetStateVariablesSize()
CLUSERInitStateVariables()
CLUSERGetStateVariableDerivatives()
Funções fornecidas pelo Mechanism Dynamics e acessível por desenvolvedores de carga personalizada:
CLEvalMeasure()
CLEvalStateVariables()
CLUSEREvalCustomLoad() é a única função que sempre deve estar presente no aplicativo de carga personalizada. Quando um usuário executa uma análise que faz referência a carga personalizada, essa função é chamada em cada passo de tempo da análise. Ela retorna o valor para a carga personalizada neste momento. Este valor é usado para calcular forças e acelerações para este passo de tempo.
Uma vez que CLUSEREvalCustomLoad() passa o nome da carga personalizada como um argumento, muitas cargas personalizadas diferentes podem ser suportadas pelo mesmo executável de carga personalizada.
Dentro de CLUSEREvalCustomLoad(), o usuário pode chamar CLEvalMeasure(). CLEvalMeasure() utiliza o nome de uma medida, que existe no modelo, como um argumento de entrada. Ao desenvolver o aplicativo de carga personalizada, certifique-se de indicar em sua documentação de carga personalizada o tipo de medida que deseja que o usuário crie no modelo.
Uma vez que CLUSEREvalCustomLoad() será chamado várias vezes durante a análise, é importante que esta função se conclua o mais rápido possível ou as execuções de análise ficarão significativamente mais lentas. Não deve haver nenhuma operação de IU ou mudanças de modelo realizadas durante esta chamada.
Outra função importante é CLUSERDefineInit(). Ela é chamada quando um usuário cria uma força motriz nova ou força ou torque externo. A função permite que o aplicativo de carga personalizada consulte o usuário para dados específicos para essa carga personalizada. Os dados podem ser armazenados e mais tarde usados na função CLUSEREvalCustomLoad(). Por exemplo, se a carga personalizada for para uma mola, a função CLUSERDefineInit() pode solicitar ao usuário para fornecer a constante de mola para essa carga.
CLUSERRunInit() é chamado antes de um usuário executar qualquer análise que faz referência à carga personalizada.
As funções restantes podem ajudar a implementar sistemas de controle usando a carga personalizada. O aplicativo de carga personalizada pode fornecer que um conjunto de valores derivados integrado em cada passo do tempo.
* 
Essas rotinas de inicialização são chamadas antes que uma análise ser executada, por isso não é adequado chamar CLEValMeasure() ou CLEvalStateVariables() a partir delas.
CLUSERGetStateVariablesSize() é chamado antes da execução de uma análise. Se o aplicativo de carga personalizada fornece um tamanho variável estado não zero, Mechanism Dynamics chama CLUSERGetStateVariables() antes de executar a análise. Em seguida, a cada passo do tempo, CLUSERGetStateVariableDerivatives() é chamado para obter os valores derivados atuais.
Isto foi útil?