O software de cálculo estrutural RFEM 6 é a base de um sistema de software composto por módulos. O programa principal RFEM 6 é utilizado para definir estruturas, materiais e ações para sistemas estruturais planos e espaciais constituídos por lajes, paredes, cascas e barras. O programa também permite criar estruturas combinadas, bem como modelar sólidos e elementos de contacto.
O RSTAB 9 é um programa de cálculo de estruturas reticuladas e pórticos 3D que reflete o estado atual da tecnologia e ajuda os engenheiros de estruturas a cumprir os requisitos da engenharia civil moderna.
Costuma perder muito tempo a calcular secções? A Dlubal Software e o programa autónomo RSECTION facilitam-lhe o trabalho determinando propriedades de secções e efetuando análises de tensões para diferentes secções.
Sabe sempre de onde vem o vento? Da direção da inovação, é claro! Com o RWIND 2, dispõe de um programa que utiliza um túnel de vento digital para a simulação numérica de fluxos de vento. O programa fornece estes fluxos em torno de eventuais geometrias de edifícios e determina as cargas de vento nas superfícies.
Procura uma vista geral de zonas de cargas de neve, velocidades de vento e cargas sísmicas? Então, está no sítio certo. Os mapas de zonas de carga são adequados para a determinação rápida e fácil de cargas de neve, velocidades de vento e cargas sísmicas de acordo com o Eurocódigo e outras normas internacionais.
Gostaria de experimentar o poder dos programas da Dlubal Software? Esta é a sua oportunidade! Com a versão completa gratuita de 90 dias, pode testar exaustivamente todos os nossos programas.
Para criar um elemento não linear, como uma articulação de barra com um diagrama ou uma rotura, tem de criar primeiro a articulação de barra. Se o RFEM conhecer a articulação de barra, esta poderá ser acedida através da interface IMemberEndRelease. Esta interface contém os métodos GetData() e SetData(). Ambos os métodos são capazes de ler ou escrever os dados de articulação de barra simples do tipo MemberEndRelease, bem como os dados de uma não linearidade.
No exemplo a seguir, primeiro é ativada uma articulação para a direção x na articulação de barra e, em seguida, o tipo WorkingDiagramType é definido como a não linearidade na direção x. Após estes dados terem sido transferidos para o RFEM utilizando um bloco Prepare-Finish-Modification, a não linearidade é criada internamente. Para preenchê-la com dados, primeiro são obtidos os dados existentes na interface da articulação de barra utilizando GetData ().
Após o preenchimento dos dados (NonlinearityDiagram), estes são novamente transferidos com SetData():
Sub SetNLDiagram()Dim model As RFEM5.modelSet model = GetObject(, "RFEM5.Model")On Error GoTo eDim iApp As RFEM5.ApplicationSet iApp = model.GetApplicationiApp.LockLicenseiApp.ShowDim iModelData As RFEM5.iModelDataSet iModelData = model.GetModelData' modify member end release' set nonlinearity "Diagram" for x translationDim iMemHing As RFEM5.IMemberHingeSet iMemHing = iModelData.GetMemberHinge(1, AtNo)Dim memHing As RFEM5.MemberHingememHing = iMemHing.GetData()memHing.TranslationalConstantX = 0memHing.TranslationalNonlinearityX = WorkingDiagramType' Set new dataiModelData.PrepareModificationiMemHing.SetData memHingiModelData.FinishModification' create diagramDim tbl1() As DoubleReDim tbl1(1, 1)tbl1(0, 0) = 0 ' u-xtbl1(0, 1) = 0 ' P-xtbl1(1, 0) = 0.02 ' u-x (mm)tbl1(1, 1) = 2000 ' P-x (N)Dim nldHing As RFEM5.NonlinearityDiagramnldHing.ForceType = StiffnessDiagramForceType.NoneStiffnessForcenldHing.PositiveZoneType = DiagramAfterLastStepType.TearingDiagramTypenldHing.PositiveZone = tbl1nldHing.Symmetric = TrueDim iNldiag As RFEM5.INonlinearityDiagramSet iNldiag = iMemHing.GetNonlinearity(AlongAxisX)' Set new dataiModelData.PrepareModificationiNldiag.SetData nldHingiModelData.FinishModificatione: If Err.Number <> 0 Then MsgBox Err.description, , Err.Sourcemodel.GetApplication.UnlockLicenseEnd Sub
O procedimento é semelhante para apoios de nós e outras não linearidades.
A rotação de um apoio de nó é definida por meio de um sistema de coordenadas definido pelo utilizador. No exemplo a seguir, um apoio de nó é rodado 45° sobre o eixo z. Não é necessário definir um novo sistema de coordenadas através de nós. Neste caso, é suficiente utilizar a opção RotatedSystemType, que permite uma rotação espacial do apoio através de três rotações em torno dos eixos x, y e z. A rotação é introduzida em radianos:
Sub test_nodal_support()Dim iApp As RFEM5.ApplicationSet iApp = GetObject(, "RFEM5.Application")iApp.LockLicenseDim iMod As RFEM5.IModel3Set iMod = iApp.GetActiveModelOn Error GoTo e' get interface of modeldataDim iModData As RFEM5.IModelData2Set iModData = iMod.GetModelData' get interface of nodal supportDim iNs As RFEM5.INodalSupportSet iNs = iModData.GetNodalSupport(1, AtNo)' get nodal support dataDim ns As RFEM5.NodalSupportns = iNs.GetData' modify datans.ReferenceSystem = UserDefinedSystemTypens.UserDefinedReferenceSystem.Axis1 = AxisXns.UserDefinedReferenceSystem.Axis2 = AxisYns.UserDefinedReferenceSystem.Type = RotatedSystemTypens.UserDefinedReferenceSystem.RotationAngles.X = 0ns.UserDefinedReferenceSystem.RotationAngles.Y = 0ns.UserDefinedReferenceSystem.RotationAngles.Z = 45 * 3.14159265359 / 180' set nodal support dataiModData.PrepareModificationiNs.SetData nsiModData.FinishModificatione:If Err.Number <> 0 Then MsgBox Err.description, vbCritical, Err.SourceiMod.GetApplication.UnlockLicenseSet iMod = NothingEnd Sub
O programa retira o apoio de nó existente do modelo atualmente aberto e modifica-o. Uma vez que o sistema de coordenadas definido pelo utilizador não faz diretamente parte da interface INodalSupport do apoio de nó, a rotação também pode ser transferida ao criar um apoio de nó.
Os parâmetros de cálculo de um caso de carga não podem ser definidos inicialmente ao criá-lo, mas apenas depois através da interface de um caso de carga existente. Para obter a interface de um caso de carga, tem de obter primeiro as interfaces 'IModel' e 'ILoads':
Sub test_analysis_parameters()Dim iApp As RFEM5.ApplicationSet iApp = GetObject(, "RFEM5.Application")iApp.LockLicenseDim iMod As RFEM5.IModel3Set iMod = iApp.GetActiveModelOn Error GoTo e' get interface of loadsDim iLds As RFEM5.iLoadsSet iLds = iMod.GetLoads' get interface of load caseDim iLc As RFEM5.ILoadCaseSet iLc = iLds.GetLoadCase(1, AtNo)' get analysis parametersDim param_analy As RFEM5.AnalysisParametersparam_analy = iLc.GetAnalysisParameters' change analysis parametersparam_analy.Method = Postcriticalparam_analy.ModifyLoadingByFactor = Trueparam_analy.LoadingFactor = 1.5' ...' set new analysis parametersiLds.PrepareModificationiLc.SetAnalysisParameters param_analyiLds.FinishModificatione:If Err.Number <> 0 Then MsgBox Err.description, vbCritical, Err.SourceiMod.GetApplication.UnlockLicenseSet iMod = NothingEnd Sub
Utilize 'ILoads.GetLoadcase' para obter a interface para um caso de carga específico. Esta interface disponibiliza as funções 'GetAnalysisParameters' e 'SetAnalysisparameters' com as quais os parâmetros podem ser lidos e escritos.
Este mesmo procedimento também pode ser utilizado para combinações de carga.