<AddinTemplates
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:noNamespaceSchemaLocation="../../../Infrastructure/Schemas/AnalysisTemplatesSchema.xsd"
>
  <ComponentTemplates>
    <ComponentTemplate
              Id="CFXPhysicsTemplate"
              Replaceable="false"
              Required="false"
              Shareable="false"
			  Image="setup">

      <AboutToResetCommand>Ansys.CFX.Foundation.Commands.CanResetContainerCommand, Ans.CFX.Foundation, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</AboutToResetCommand>
      <CanUseTransferQuery>Ansys.CFX.CFXCore.Commands.CFXCanUseTransferDataQuery, Ans.CFX.CFXCore, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</CanUseTransferQuery>
      <CleanCommand>Ansys.CFX.Foundation.Commands.CleanContainerCommand, Ans.CFX.Foundation, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</CleanCommand>
      <CreateCommand>Ansys.CFX.CFXCore.Commands.CreateSetupCommand, Ans.CFX.CFXCore, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</CreateCommand>
      <DeletingContainerCommand>Ansys.CFX.Foundation.Commands.DeleteContainerCommand, Ans.CFX.Foundation, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</DeletingContainerCommand>
      <DuplicateCommand>Ansys.CFX.CFXCore.Commands.DuplicateCFXCoreContainerCommand, Ans.CFX.CFXCore, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</DuplicateCommand>
      <RefreshCommand>Ansys.CFX.CFXCore.Commands.RefreshSetupCommand, Ans.CFX.CFXCore, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</RefreshCommand>
      <ResetCommand>Ansys.CFX.Foundation.Commands.ResetContainerCommand, Ans.CFX.Foundation, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</ResetCommand>
      <SourcesChangedCommand>Ansys.CFX.Foundation.Commands.UpdateDataSourcesCommand, Ans.CFX.Foundation, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</SourcesChangedCommand>
      <StatusQuery>Ansys.CFX.Foundation.Queries.GetCellStateQuery, Ans.CFX.Foundation, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</StatusQuery>
      <UpdateCommand>Ansys.CFX.CFXCore.Commands.UpdateSetupCommand, Ans.CFX.CFXCore, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</UpdateCommand>
      <ComponentPropertyDataQuery>Ansys.CFX.CFXCore.Commands.GetSetupPropertiesQuery, Ans.CFX.CFXCore, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</ComponentPropertyDataQuery>

      <InputLists>
        <InputList AllowEmptyInputs="true">
          <OptionalInput MaxNumberOfInputs="-1">SimulationGeneratedMesh</OptionalInput>
          <OptionalInput MaxNumberOfInputs="-1">CFXMesh</OptionalInput>
          <OptionalInput MaxNumberOfInputs="-1">MechanicalSetup</OptionalInput>
        </InputList>
      </InputLists>

        <EquivalentInputLists>
            <EquivalentInputList>
                <EquivalentInput>SimulationGeneratedMesh</EquivalentInput>
                <EquivalentInput>CFXMesh</EquivalentInput>
            </EquivalentInputList>
        </EquivalentInputLists>
        
      <OutputList>
        <Output>CFXSetup</Output>
        <Output>SystemCouplingSetupData</Output>
      </OutputList>
    </ComponentTemplate>
    <ComponentTemplate
      Id="CFXResultsTemplate"
      Replaceable="false"
      Required="false"
      Shareable="false"
	  Image="solution">
        
      <AboutToResetCommand>Ansys.CFX.Foundation.Commands.CanResetContainerCommand, Ans.CFX.Foundation, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</AboutToResetCommand>
      <CanUseTransferQuery>Ansys.CFX.CFXCore.Commands.CFXCanUseTransferDataQuery, Ans.CFX.CFXCore, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</CanUseTransferQuery>
      <CleanCommand>Ansys.CFX.Foundation.Commands.CleanContainerCommand, Ans.CFX.Foundation, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</CleanCommand>
      <CreateCommand>Ansys.CFX.CFXCore.Commands.CreateSolutionCommand, Ans.CFX.CFXCore, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</CreateCommand>
      <DeletingContainerCommand>Ansys.CFX.Foundation.Commands.DeleteContainerCommand, Ans.CFX.Foundation, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</DeletingContainerCommand>
      <DuplicateCommand>Ansys.CFX.CFXCore.Commands.DuplicateCFXCoreContainerCommand, Ans.CFX.CFXCore, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</DuplicateCommand>
      <RefreshCommand>Ansys.CFX.CFXCore.Commands.RefreshSolutionCommand, Ans.CFX.CFXCore, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</RefreshCommand>
      <ResetCommand>Ansys.CFX.Foundation.Commands.ResetContainerCommand, Ans.CFX.Foundation, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</ResetCommand>
      <SourcesChangedCommand>Ansys.CFX.Foundation.Commands.UpdateDataSourcesCommand, Ans.CFX.Foundation, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</SourcesChangedCommand>
      <StatusQuery>Ansys.CFX.Foundation.Queries.GetCellStateQuery, Ans.CFX.Foundation, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</StatusQuery>
      <UpdateCommand>Ansys.CFX.CFXCore.Commands.UpdateSolutionCommand, Ans.CFX.CFXCore, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</UpdateCommand>
      <ComponentPropertyDataQuery>Ansys.CFX.CFXCore.Commands.GetSolutionPropertiesQuery, Ans.CFX.CFXCore, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</ComponentPropertyDataQuery>
      <WillBeUpdatedViaRsmQuery>Ansys.CFX.CFXCore.Queries.WillBeUpdatedViaRsmQuery, Ans.CFX.CFXCore, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</WillBeUpdatedViaRsmQuery>
      <GetEnvironmentForRsmDpUpdateQuery>Ansys.CFX.CFXCore.Queries.GetEnvironmentForRsmDpUpdateQuery, Ans.CFX.CFXCore, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null</GetEnvironmentForRsmDpUpdateQuery>

      <InputLists>
        <InputList AllowEmptyInputs="true">
          <OptionalInput>CFXSetup</OptionalInput>
          <OptionalInput>CFXSolution</OptionalInput>
        </InputList>
      </InputLists>
      <OutputList>
        <Output>CFXSolution</Output>
      </OutputList>
      <TransferComponents>
        <TransferComponent SystemName="CFXTransferResultsTemplate" ShowInUI="False">
          <UserName>Initial Conditions</UserName>
          <CreateCommand>CFX.CreateSolutionDataTransfer</CreateCommand>
          <ExposedTypes>
            <ExposedType>CFXSolution</ExposedType>
          </ExposedTypes>
        </TransferComponent>
      </TransferComponents>
    </ComponentTemplate>

  </ComponentTemplates>

  <SystemTemplates>
    <SystemTemplate Id="CFX Application System Template">
      <InternalComponent Caption="Setup" ComponentTemplateId="CFXPhysicsTemplate"/>
      <InternalComponent Caption="Solution" ComponentTemplateId="CFXResultsTemplate"/>
      <ExternalComponent Caption="Results" ComponentTemplateId="CFDPostTemplate"/>
    </SystemTemplate>

    <SystemTemplate Id="CFX Fluid Flow System Template">
      <ExternalComponent Caption="Geometry" ComponentTemplateId="GeometryCellTemplate"/>
      <ExternalComponent Caption="Mesh" ComponentTemplateId="SimulationMeshingModelCellTemplate"/>
      <InternalComponent Caption="Setup" ComponentTemplateId="CFXPhysicsTemplate"/>
      <InternalComponent Caption="Solution" ComponentTemplateId="CFXResultsTemplate"/>
      <ExternalComponent Caption="Results" ComponentTemplateId="CFDPostTemplate"/>
    </SystemTemplate>

    <SystemTemplate Id="CFX No Post System Template">
      <InternalComponent Caption="Setup" ComponentTemplateId="CFXPhysicsTemplate"/>
      <InternalComponent Caption="Solution" ComponentTemplateId="CFXResultsTemplate"/>
    </SystemTemplate>
  </SystemTemplates>

    <!--Licensing codes: 
      Capability.ANSYSLI_CAP_CFX_PRE_BASIC_NOLIMIT,
      Capability.ANSYSLI_CAP_CFX_PRE_EDU,
      Capability.ANSYSLI_CAP_CFX_PRE_FULL_NOLIMIT,
      Capability.ANSYSLI_CAP_CFX_PRE_LIMIT,
      Capability.ANSYSLI_CAP_CFX_PRE_NOTURBO,
      Capability.ANSYSLI_CAP_CFX_PRE_NOTURBO_QUICK);
    -->

  <Systems>
    <System Id="CFX" Caption="CFX" Abbreviation="CFX" Image="CFX" SystemTemplateId="CFX Application System Template" ToolboxGroup="Component Systems" ValidationCode="10025 or 10026 or 10024 or 10027 or 10029 or 10028">
      <Property Name="PhysicsType">Fluids</Property>
      <Property Name="PhysicsTypeDisplayString">Fluids</Property>
      <Property Name="SolverType">CFX</Property>
    </System>
    <System Id="Fluid Flow (CFX)" Caption="Fluid Flow (CFX)" Abbreviation="CFX" Image="fluid" SystemTemplateId="CFX Fluid Flow System Template" ToolboxGroup="Analysis Systems" ValidationCode="10025 or 10026 or 10024 or 10027 or 10029 or 10028">
      <Property Name="PhysicsType">Fluids</Property>
      <Property Name="PhysicsTypeDisplayString">Fluids</Property>
      <Property Name="SolverType">CFX</Property>
    </System>
    <System Id="CFX (Beta)" Caption="CFX" Abbreviation="CFX" Image="CFX" Beta="true" SystemTemplateId="CFX No Post System Template" ToolboxGroup="Component Systems" ValidationCode="10025 or 10026 or 10024 or 10027 or 10029 or 10028">
      <Property Name="PhysicsType">Fluids</Property>
      <Property Name="PhysicsTypeDisplayString">Fluids</Property>
      <Property Name="SolverType">CFX</Property>
    </System>
  </Systems>

  <HelpIds>
    <SidebarHelpIds>
      <SidebarHelpId SystemId="CFX">wb2sb_cfxapp</SidebarHelpId>
      <SidebarHelpId SystemId="CFX (Beta)">wb2sb_cfxnopost</SidebarHelpId>
      <SidebarHelpId SystemId="Fluid Flow (CFX)">wb2sb_ffCFX</SidebarHelpId>
    </SidebarHelpIds>
    <Tooltips>
      <Tooltip SystemId="CFX"></Tooltip>
      <Tooltip SystemId="CFX (No Post)"></Tooltip>
      <Tooltip SystemId="Fluid Flow (CFX)">Fluid Flow analysis using CFX solver</Tooltip>
    </Tooltips>
    <QuickHelpIdList>
    </QuickHelpIdList>
  </HelpIds>
</AddinTemplates>
