Матрица покрытия документацией
Матрица нужна для контроля полноты сайта: функция считается задокументированной только тогда, когда у неё есть пользовательская статья, техническая ссылка на реализацию и проверочный сценарий.
Статусы
| Статус | Значение |
|---|---|
готово |
Статья опубликована и проверена на сайте. |
в работе |
Страница создана, но не завершены примеры или сверка с кодом. |
реестр |
Функция перечислена, но подробная статья ещё не написана. |
не реализовано |
Пункт интерфейса виден, но отключён или не имеет рабочего обработчика. |
Начальная матрица разделов
| Область | Источник фактов | Страница | Статус |
|---|---|---|---|
| Проект и быстрый старт | MainWindow.xaml, AppViewModel |
getting-started.md |
в работе |
| Интерфейс программы | OpenCS/MainWindow.xaml, MainWindow.xaml.cs, CalcTasksTreeVM, FemTreeVM, команды и обработчики |
reference/interface.md |
готово |
| Наборы усилий | CScore/ForceSet, LoadItem, ShellLoadItem, ForceSetVM, ShellForceSetVM, импортеры и SP20Combinations |
reference/force-sets.md |
готово |
| Модель сечения | CrossSection, MaterialArea, Fiber, DatabaseService (схема хранения) |
concepts/model.md |
готово |
| Материалы и СП 63 | Material, MaterialChars, Diagramm, DiagrammType.SP63 |
concepts/materials-and-diagrams.md |
в работе |
| Знаки и единицы | CrossSection, PlateSection, импортеры |
concepts/sign-conventions.md |
в работе |
| Фибровый метод | MaterialArea, GridSplit, Geo |
methods/fiber-method.md |
готово |
| Контурное интегрирование | GreenIntegrator, ContourIntegral |
methods/contour-integration.md |
готово |
| Гибридный путь | CrossSection.IntegralOf |
methods/hybrid-integration.md |
готово |
| Сходимость и точность | GreenIntegrator, GridSplit, решатели CScore |
methods/convergence.md |
готово |
| Стержневая аналогия полосы плиты | CScore/PlateStrip, EquivalentSectionProjectService, EquivalentSectionPage |
methods/plate-strip.md |
готово |
| Нелинейный путь полосы и сквозная сверка | StripBeamNonlinearModel, PlateSectionLiveResponse, StripSectionSourceGrid, StripBoundaryInterface, ShellStripResultantSampler, PlateStripAnalogyRunner |
methods/plate-strip.md |
готово |
| Нормативная карта задач | локальный корпус norms, СП 63/16/468/20 |
reference/normative-basis.md |
готово |
| Задачи расчёта | CalcTaskPropsDialog.AvailableKinds, TaskRunner, обработчики |
reference/calculation-tasks.md |
готово |
| НДС сечения | StrainStateHandler, StrainStateBatchHandler, StrainSolver, Sp63.EccentricityAmplifier |
calculations/rc-section.md |
готово |
| История нагружения стадийного сечения | StagedSection, SectionPart, CScore/History (LoadHistorySolver, CurvatureControlSolver, SofteningDiagramm, LoadHistoryParams, LoadHistoryResultData), LoadHistoryHandler, StagedPartsEditor, StagedSectionVM, LoadHistoryParamsVM, LoadHistoryResultVM, LoadHistoryReportProvider, CScore/Hysteresis (KarsanJirsaConcrete, BilinearSteel, MenegottoPintoSteel, RuptureDamage, FiberStateField); тесты CScore.Tests/History, CScore.Tests/Hysteresis, OpenCS.OpenSees.Tests/Hysteresis (сверка с Steel01/Steel02/Concrete01), OpenCS.Tests/LoadHistory*Tests.cs, StagedSectionDbTests.cs, StagedPartsEditorTests.cs, OpenCS.Reporting.Tests/LoadHistoryReportProviderTests.cs |
calculations/load-history.md |
готово (материал нелинейно-упругий или с гистерезисом, модель бетона и стали на выбор) |
| Формульная прочность таврового сечения | Sp63NormalHandler, Sp63TeeNormalChecker, Sp63TeeFormulas, Sp63TeeGeometryPolicy |
calculations/rc-section.md, verification/example-sp63-2018-tee-formula.md, verification/example-krakovsky-ivb81-tee-formula.md |
готово |
| Формульная прочность круглого и кольцевого сечений | Sp63NormalHandler, Sp63CircularNormalChecker, Sp63CircularFormulas, Sp63CircularGeometryPolicy, Sp63PolarRebarLayoutAnalyzer |
calculations/rc-section.md, verification/example-krakovsky-ivg2-circular.md |
готово |
| Формульная прочность бетонного элемента (раздел 7) | Sp63NormalHandler, Sp63ConcreteNormalChecker |
calculations/rc-section.md, verification/example-1-concrete-panel.md |
готово для прямоугольника, тавра и двутавра, включая (7.4)/(7.5) без трещин и поперечную силу п. 7.1.4; местное сжатие и п. 10.3.7 — не реализованы |
| Предельные усилия | LimitForceHandlers, LimitForceSolver, LimitForceSolverFast, LimitForceParams |
calculations/limit-forces.md |
готово |
| Поверхность предельных усилий (ПС1) | CScore/LimitSurface (StrainDomain, UlsStrainCriterion, StrainDomainMesher, LimitSurfaceMesh), StrainSurfaceHandler, LimitSurfaceResultData, LimitSurfaceScene, LimitSurfaceResultView, LimitSurfaceRowTaskFactory; тесты CScore.Tests/LimitSurface, OpenCS.Tests/LimitSurface*Tests.cs, StrainSurfaceHandlerTests.cs |
calculations/limit-surface.md |
готово (без η продольного изгиба, без отчёта; стадийные сечения и пластины не поддерживаются) |
| Поверхность образования трещин (ПС2) | CScore/LimitSurface (CrackStrainCriterion, правило (8.54) в StrainDomain), StrainSurfaceHandler (crack_surface), LimitSurfaceScene, LimitSurfaceRowTaskFactory (→ cracking); тесты CrackStrainCriterionTests.cs, CrackSurfaceVerificationTests.cs, LimitSurfaceCrackSceneTests.cs |
calculations/limit-surface.md#crack-surface |
готово (только деформационная модель п. 8.2.14; без отчёта) |
| Поверхность ширины раскрытия трещин (ПС2) | CScore/LimitSurface (AcrcSurfaceCriterion, AcrcColumnMesher), CScore/CrackWidth (CrackWidthCore, CrackSectionGeometry), StrainSurfaceHandler (acrc_surface), LimitSurfaceScene, LimitSurfaceRowTaskFactory (→ crack_width); тесты AcrcSurfaceTests.cs, AcrcSurfaceVerificationTests.cs, StrainSurfaceHandlerTests.cs |
calculations/limit-surface.md#acrc-surface |
готово (одна доля длительной нагрузки на тело; без отчёта; построение — порядка минуты) |
| Трещины и кривизна | CrackingHandler, CrackWidthHandler, Sp63CrackWidthHandler |
calculations/cracking.md |
в работе |
| Преднапряжение | PrestressLossHandler, PrestressActions |
calculations/prestress.md |
в работе |
| Оболочки и плиты | Shell*Handler, PlateSection |
calculations/shells.md |
в работе |
| Методы проверки плит и стен | ShellSimplSolver (Вуд-Армер, Капра-Мори), PlateSection, ShellStrainSolver, ShellLayeredCheck, ShellLayeredCrackWidth, ShellCrackingSolver |
methods/plate-wood-armer.md, methods/plate-capra-maury.md, methods/plate-layered.md, verification/plate-lira-wall-check.md, verification/plate-layered-craveiro.md; тесты CScore.Tests/ShellSimplCompressionRebarExclusionTests.cs, ShellSimplWoodArmerTensionTests.cs, ShellLayeredThinCompressionZoneTests.cs |
готово |
НДМ полосы плиты в Вуде-Армере и Капра-Мори (модель полосы, ПС1 по лучу усилий, ПС2 с M_crc по деформациям) |
CScore/ShellSimpl/StripNdm.cs, StripNdmSection, StripNdmAdapter, StripNdmUlsTable, ShellSimplSolver.StripModel; тесты CScore.Tests/ShellSimpl/StripNdmSectionTests.cs, StripNdmSolveTests.cs, StripNdmUlsTests.cs, StripNdmSlsTests.cs, ShellSimplNdmTests.cs |
methods/plate-strip-ndm.md, verification/plate-strip-ndm-capra-maury.md |
готово (полосы направлений независимы) |
| Подбор сеток Капра-Мори по ПС1 и ПС2, проверка через ограничения | CScore/ShellSimpl/CapraMauryDesignSolver.cs, OrthogonalMeshLp, StripNdmDesign, OpenCS.App/Tasks/CapraMauryDesignHandlers.cs, CapraMauryDesignResultView, CapraMauryDesignBatchResultView; тесты CScore.Tests/ShellSimpl/CapraMauryDesignTests.cs, CapraMauryDesignSlsTests.cs, CapraMauryConstraintsCheckTests.cs, OrthogonalMeshLpTests.cs, StripNdmDesignTests.cs |
methods/plate-capra-maury.md#design, methods/plate-capra-maury.md#constraints, reference/calculation-tasks.md |
готово (подбор по КЭ схем не реализован) |
| Поперечная сила в упрощённых проверках и подборе пластин | CScore/ShellSimpl/PlateShearCheck.cs, ShellSimplParams.qx/qy, FemCheckRunner, OpenCS/Views/PlateShearBlock.cs; тесты CScore.Tests/ShellSimpl/PlateShearCheckTests.cs |
methods/plate-capra-maury.md#shear |
готово (без поперечной арматуры сечения, без продавливания) |
| Сталь, СП 16 (изм. 1–6) | CScore/Steel/Sp16 (Sp16Checker, разделы 7, 8, 9, 10.4), SteelTaskHandlerBase, Steel*Handler, SteelDesignParamsEditor, МКЭ-проверка steel_check; тесты CScore.Tests/Steel |
calculations/steel.md, reference/calculation-tasks.md, reference/normative-basis.md#sp16, verification/sp16-steel-ibeam-hand-check.md |
готово (не реализованы 9.4.5, 9.4.6, 9.4.8, 9.4.9) |
| Параметрические МК-сечения | CScore/ParametricSteel (ParametricSteelSectionGenerator, ParametricSteelSectionFingerprint, TryGetParametricSteelProfile), ParametricSteelSectionProjectService, ParametricSteelSectionVM, ParametricSteelSectionDialog, ProfileDB.SteelCatalog, SteelTaskHandlerBase |
reference/interface.md, concepts/model.md, calculations/steel.md, verification/parametric-steel-sections.md |
готово |
| Огнестойкость | Fire*Handler, FireThermalReference, FireMeshStepValidator, CScore.Fire, CSfea.Thermal, вид результата FireSectionStatePlotBuilder → SectionPlotVM, разрез с ISectionCutStressSource (FireFiberSection); тесты CSfea.Tests (Fire*), OpenCS.Tests (Fire*) |
calculations/fire.md, reference/calculation-tasks.md#fire |
готово для R (признаки E, I не реализованы) |
| Кручение | TorsionBemHandler, TorsionFemHandler, TorsionHandlerBase, CSfea.Torsion (TorsionFemSolver, TorsionBemSolver, TorsionRichardson, CombinedStress), FemGjDefaultResolver, SteelTorsionConstantService; тесты CSfea.Tests/TorsionTests.cs, OpenCS.Tests/SteelTorsionConstantServiceTests.cs |
calculations/torsion.md, reference/calculation-tasks.md, reference/interface.md#torsion-task-editor |
готово (стратегия GJ «по задаче кручения» не принимается расчётами OpenSees) |
| ЛИРА и SCAD | импортеры OpenCS/Services, CScore/Import |
import/lira.md, import/scad.md, reference/force-sets.md |
готово |
Импорт SCAD из проекта .SPR (схема, оси выдачи пластин, усилия, РСН, РСУ) |
OpenCS/Services/Scad (ScadApiNative, ScadApiSession, ScadApiReader), ScadSchemaConverter, ScadOutputAxes, ScadApiForceMapper, ScadForceSetBuilder, ScadApiImportDialog; тесты CScore.Tests/Import/ScadForceSetBuilderTests.cs, ScadOutputAxesTests.cs, ScadStiffnessParamsTests.cs, ScadElementKindsTests.cs, OpenCS.Tests/ScadForceLayoutTests.cs, ручной ScadApiReaderManualTests.cs |
import/scad.md#schema, import/scad.md#forces, reference/interface.md |
готово (только новая схема, без обновления; знаки Mxy/Txy пластин тестом на кручение не проверены) |
| Армирование SCAD: ЖБ-группы, заданное, подобранное (плагин) | ScadConcreteGroups, ScadAssignedRebar, ScadAssignedRebarSources, ScadRebarExportReader, ScadSelectedRebarSources, ScadPlateSectionSources, ScadBarSectionSources, ScadPlateSectionTemplates, tools/ScadPlugin/OpenCSExport, FemCheckContext, PlateRebarMosaicVM, FemBarDiagramVM; тесты CScore.Tests/Import/ScadAssignedRebarTests.cs, ScadRebarExportReaderTests.cs, ScadSelectedRebarSourcesTests.cs, OpenCS.Tests/ScadConcreteLayoutTests.cs, BarMaterialCreatorScadTests.cs |
import/scad.md#rebar, import/scad.md#mosaics, import/scad.md#per-element-checks |
готово для пластин и стержней-брусов (S0); заданное армирование сверено частично |
| Армирование ЛИРЫ (RBT, ASP) | LiraRbtReader, LiraPlateReinforcementAssembler, LiraAspReader, LiraAspSchemaMatch, LoadLiraRbt/LoadLiraAsp в AppViewModel; тесты CScore.Tests/Import/LiraRbtReaderTests.cs, LiraAspReaderTests.cs |
import/lira.md#lira-reinforcement-files, reference/interface.md |
готово (продавливание из ASP не читается) |
| Группы КЭ и группы КонЭ, ручной отбор КЭ, КонЭ из выделенных КЭ | FemMemberGroup (Kind, Tags), FemGroupComposition, FemCheckScope, FemImportResult/SaveFemImport, FemGroupService, MeshMemberBuilder, FemTreeVM (FemMeshGroupsSubNode, FemMemberGroupsSubNode), FemGroupTableTools, FemSchemaView3D, MeshMembersDialog; тесты CScore.Tests/Fem/FemGroupKindsTests.cs, FemCheckScopeTests.cs, CScore.Tests/Import/LiraBlockMemberBuilderTests.cs, OpenCS.Tests/FemGroupKindsPersistenceTests.cs, FemGroupTreeNodesTests.cs, Fem3DMeshPickTests.cs, FemSchemaEditGroupIdsTests.cs |
calculations/fem-groups.md, reference/interface.md, import/lira.md#lira-constructive-blocks |
готово (выделение рамкой и фильтры выбора не реализованы) |
| Граничные условия схемы в дереве: узловые связи (закрепления и пружины, по типам), упругое основание, шарниры стержней, жёсткие тела | FemBoundaryTreeVM (FemBoundaryTree, FemBoundaryObjectList), FemMemberTreeMenus.FillBoundaryGroup, FemMeshNodeBoundaryDialog, FemBoundaryObjectsDialog, SetNodeBoundaryCommand, SetDofMasksCommand; тесты OpenCS.Tests/FemBoundaryTreeTests.cs, FemBoundaryObjectListTests.cs, CScore.Tests/Fem/NodeBoundaryCommandTests.cs |
calculations/fem-schema-model.md, reference/interface.md |
готово |
| АЖТ в примыканиях стержней к плитам своей схемы: следы сечений колонн и рёбер, вшивание в сетку Gmsh, тела «авто», параметры схемы и стержня | CScore/Fem/FemRigidJunctions.cs, FemRigidJunctionMaterializer.cs, RigidJunctionSectionOutline.cs, CScore/Planar/PlanarPolygonOps.cs, FemSchemaMeshService, FemSchemaMeshStepsDialog, FemMemberRigidJunctionDialog, RigidJunctionParamsSummary; тесты CScore.Tests/Fem/FemRigidJunctionsTests.cs, FemRigidJunctionMaterializerTests.cs, OpenCS.Gmsh.Tests/FemRigidJunctionMeshServiceTests.cs, CSfea.Tests/RigidJunctionColumnSlabTests.cs |
calculations/fem-schema-model.md#rigid-junctions, verification/plate-column-rigid-junction.md |
готово |
Поля из таблиц точек: C1 пластин и жёсткости пружин узлов по таблице X, Y, [Z], значения (совмещение, плоские участки, интерполяция, ближайшая, IDW, один к одному, наложение импорт → поля → ручные) |
CScore/Fem/Fields (PointTable, FieldAlignment, FieldAlignmentFit, PlanarPatchSplitter, ShellFieldInterpolator, NodeFieldMatcher, FemFieldEvaluator, FemFieldOverlay, FemFieldQuantities), FemFieldService, DatabaseService.FemFields (БД v88), FemFieldDialogVM, FemFieldDialog, FieldPreviewCanvas, FemFieldsSubNode; тесты CScore.Tests/Fem/Fields/*, OpenCS.Tests/FemFieldDbTests.cs, FemFieldServiceTests.cs, FemFieldConsumersTests.cs, FemFieldDialogVMTests.cs, FemFieldTreeVMTests.cs |
calculations/fem-point-table-fields.md, calculations/fem-schema-model.md, reference/interface.md |
готово (C2, нагрузки, температура, смещения по полю и табличный редактор правок не реализованы) |
| Фрагмент этажа: схема из полосы родителя между отметками z₁…z₂ (рассечение колонн и стен, сборка КонЭ из импортной сетки, перенос нагрузок и нагрузки-поля, опорная сетка родителя для армирования ЛИРЫ/SCAD, C1 и пружин, отпечаток родителя), команда «Фрагмент по отметкам…», отчёт сборки, шапка «родитель изменён/удалён» | CScore/Fem/Fragment (StoreyFragmentBuilder, FragmentParentMap, ParentMeshMapper, FragmentFieldLoadResolver, ParentMappedRebarSources, StoreyFragmentFingerprint), OpenCS.App/Services/StoreyFragmentService, FragmentLoadService, DatabaseService.FemFragment (БД v92–v93), ViewModels/StoreyFragmentForm, StoreyFragmentMenuFlow, StoreyFragmentBannerVM, Views/StoreyFragmentDialog, StoreyFragmentReportDialog; тесты CScore.Tests/Fem/Fragment/*, OpenCS.Tests/StoreyFragment*, OpenCS.Gmsh.Tests/StoreyFragmentReactionsTests.cs |
calculations/storey-fragment.md, reference/interface.md |
готово для сборки и линейного расчёта (ГУ по сечениям рассечения, контур в плане, мозаики армирования по родителю и 3D-вид нагрузок-полей не реализованы) |
| Линейные связи на гранях пластинчатых КонЭ | CScore/Fem/FemLineSupport.cs (FemLineSupportGeometry, FemLineSupportResolver), LineSupportCommands, FemLineSupportDialog, FemSchemaView3D.LineSupports, FemLineSupportReactions, БД fem_line_supports; тесты CScore.Tests/Fem/FemLineSupportTests.cs, LineSupportCommandTests.cs, CSfea.Tests/FemLineSupportCsfeaTests.cs, OpenCS.Tests/FemLineSupportDbTests.cs, FemLineSupportTreeTests.cs |
calculations/fem-schema-model.md#line-supports |
готово для CSfea (эпюра погонной реакции в 3D и местные оси граней не реализованы) |
| Загружения и комбинации в дереве, активное загружение | FemLoadTreeVM, DatabaseService.FemLoadTree, FemLoadCaseDialog, FemCombinationDialog, FemSchemaPage (CreateLoadCase, SetActiveLoadCase); тесты OpenCS.Tests/FemLoadTreeTests.cs |
calculations/fem-schema-model.md#load-cases |
готово (матрица комбинаций не реализована) |
| Вкладка «Загружения» таблицами: загружения и нагрузки активного загружения с правкой в ячейках; вкладка «Комбинации» по образцу RFEM (список с формулами, перенос загружений, коэффициенты, генератор СП 20) | FemLoadsTabVM, Views/FemLoadCasesPanel, FemAreaLoadDialog, FemCombinationsTabVM, Views/FemCombinationsPanel, EditMemberLoadCommand, DeleteMeshNodeLoadCommand, FemLoadExpressionResolver; тесты OpenCS.Tests/FemLoadsTabTests.cs, FemCombinationsTabTests.cs, CScore.Tests/FemLoadExpressionResolverTests.cs |
calculations/fem-schema-model.md#loads-tab |
готово (матрица «комбинации × загружения» не реализована) |
| Комбинации по СП 20 в схеме: «авто»-коэффициенты по роли, типы C/CL/N/NL/A, вид величин нагрузок, параметры загружения (γf п. 7.3, доля длительной части), комбинации из огибающей линейного расчёта с отбором, подузлы типов и удаление в дереве | FemCombinationCoefficients, FemEnvelopeCombinations, FemLinearLoadCaseForceSets, Sp20LoadAttributesVM, FemEnvelopeSelectionDialog, SP20Combinations.SP20EnvelopeAndCasesForGroup; тесты CScore.Tests/FemCombinationCoefficientsTests.cs, CombRulesTests.cs, SP20GroupCombinationTests.cs, OpenCS.Tests/FemCombinationsTabTests.cs, Sp20LoadAttributesTests.cs, FemLinearLoadCaseForceSetsTests.cs |
calculations/fem-schema-model.md#auto-coefficients, #envelope-combinations |
готово (переключения результатов линейного расчёта на комбинации нет) |
| Постановка CSfea: загружения линейного расчёта галочками, окно выбора нагрузки стадии | FemLinearCasesVM, FemLoadSourcePickerVM, Views/FemLoadSourcePickerDialog, FemAnalysisDialog; тесты OpenCS.Tests/FemLinearCasesVMTests.cs, FemLoadSourcePickerVMTests.cs, FemLoadSourcePickerDialogTests.cs |
calculations/csfea-schema-analysis.md#linear-cases, #stage-load |
готово (пакетный расчёт по нескольким комбинациям не реализован) |
| Действия в дереве схемы: выделить, показать только, скрыть, удалить КонЭ и узлы; удалить тип узловой связи | FemMemberTreeMenus (AddViewActions), AppViewModel.InFemSchemaEditor, DeleteFemNodalSupportGroup, FemSchemaPage (SelectInSchema, ApplyMembersFragment, DeleteMember, DeleteNodes, ClearNodeBoundary), Fem3DVM.ApplyMembersFragment; тест OpenCS.Tests/FemBoundaryTreeTests.cs |
calculations/fem-schema-model.md#tree-view-actions, calculations/fem-groups.md#tree-members |
готово (показать/скрыть узлов и типов ГУ нет) |
| Переместить / копировать узлы и КонЭ, иконки команд | ViewModels/FemTransformCommand, FemSchemaView3D.Transform, MoveNodesCommand, PasteFragmentCommand, FemFragmentTargets, Resources/FemCommandIcons.xaml, Views/Helpers/CommandIcons; тесты OpenCS.Tests/FemTransformCommandTests.cs, CScore.Tests/FemFragmentClipboardTests.cs, OpenCS.Tests/CommandIconsTests.cs |
calculations/fem-schema-model.md#move-copy |
готово |
| Конструктивные элементы из кБ ЛИРЫ | LiraBlockMemberBuilder, FemMeshLock, FemMeshDiscretizer.DiscretizeKeepingImported, LiraBlocksToMembersDialog; тесты CScore.Tests/Import/LiraBlockMemberBuilderTests.cs |
import/lira.md#lira-constructive-blocks, reference/interface.md |
готово (угол местных осей стержней не читается) |
| Мозаики по КЭ: армирование, усилия, коэффициент использования | CScore/PlateRebar/PlateRebarMosaic.cs (IPlateRebarFieldSource, PlateRebarMosaicScale), LiraAspPlateRebarSource, LiraRbtPlateRebarSource, CScore/Fem/ElementForceField.cs, FemCheckElementResults.cs, PlateRebarMosaicVM, Fem3DVM, PlanarRegionMemberVM; тесты CScore.Tests/PlateRebar/PlateRebarMosaicTests.cs, CScore.Tests/Fem/ElementForceFieldTests.cs, OpenCS.Tests/PlateRebarMosaicVmTests.cs |
import/lira.md#rebar-mosaic, reference/interface.md |
готово (изополя не реализованы) |
| Армирование стержней ЛИРЫ, эпюры стержней | CScore/Fem/BarChain.cs, BarDiagram.cs, BarDiagramGeometry.cs, BarRebarField.cs (IBarRebarFieldSource), LiraAspBarRebarSource, LiraRbtBarRebarSource, LiraRbtReader (брусовые ТЗА AUAS.B/AUAS.T, AS_spec), LiraApiSchemaReader.ReadElementReinforcementTypes, FemBarDiagramVM, FemBarDiagramDialog, Fem3DVM.BuildBarDiagrams; тесты CScore.Tests/Fem/BarDiagramTests.cs, CScore.Tests/Import/LiraRbtReaderTests.cs, OpenCS.Tests/FemBarDiagramVmTests.cs, PlateRebarMosaicVmTests.cs |
import/lira.md#lira-bar-reinforcement, import/lira.md#bar-diagrams, reference/interface.md |
готово (угол чистого вращения стержня не читается; прочие брусовые шаблоны ТЗА, кроме AS_spec, не разбираются; сравнение заданной и подобранной — только по ΣAs) |
Продольный изгиб в проверке по КЭ: η ЖБ-стержней и стен, lef = μ·l стали по сетке и «Авто (МКЭ)» |
FemBracedLength, FemEtaParams, FemEtaPsi, FemWallEta, RcCheckHandler, SteelFemCheckParams, SteelDesignParams.MeshLef, FemCheckContext.SteelElementParams, FemCheckBucklingVM, FemCheckBucklingEditor, FemMemberEditorPage; тесты CScore.Tests/Fem/FemEtaTests.cs, CScore.Tests/Steel/SteelMeshLefTests.cs, OpenCS.Tests/RcCheckHandlerTests.cs, FemCheckBucklingVMTests.cs, FemCheckSteelGroupParamsTests.cs, FemMemberEditorVmTests.cs |
import/lira.md#per-element-buckling, import/scad.md#per-element-checks, calculations/steel.md#parameters, calculations/rc-section.md#eta, reference/interface.md |
готово (μ из ЛИРЫ/SCAD не читаются; изгиб стены в своей плоскости и ea не учитываются) |
| Проверка по КЭ с армированием каждого КЭ | FemCheckRunner.RunPerElement, FemCheckScope, FemCheckReadiness, IPlateElementSectionSource, LiraAssignedPlateSectionSource, LiraSelectedPlateSectionSource, FemCheckContext, FemCheckDialogVmBase, FemCheckResultView; тесты CScore.Tests/Fem/FemCheckPerElementTests.cs, FemCheckScopeTests.cs, CScore.Tests/Import/LiraPlateSectionSourcesTests.cs, OpenCS.Tests/FemCheckContextTests.cs |
import/lira.md#per-element-checks, reference/interface.md |
готово для пластин (источники: сечение цели, ТЗА, ASP, раскладка OpenCS) и железобетонных стержней (источники: сечение проекта, ТЗА, ASP) |
| Раскладка OpenCS как источник армирования КЭ | CScore/Fem/PlateLayoutSectionSource.cs (PlateLayoutResolver, LayoutPlateSectionSource, PlateLayoutRebarSource), PlateRebarFieldResolver, ShellForceTransform, FemCheckContext, FemCheckDialogVmBase, PlateRebarMosaicVM; тесты CScore.Tests/Fem/PlateLayoutSectionSourceTests.cs, OpenCS.Tests/PlateLayoutPersistenceTests.cs |
import/lira.md#layout-source, import/lira.md#rebar-mosaic |
готово для пластин (зоны с арматурой под углом к осям элемента не проверяются) |
| Оси выдачи усилий пластин ЛИРЫ | LiraApiSchemaReader (таблица местных осей пластин, ReadPlateAxisAngles), LiraSchemaConverter, FemElement.LocalAxisAngleDeg, RefreshLiraPlateAxes в AppViewModel; тесты CScore.Tests/Import/LiraSchemaConverterReinforcementTypesTests.cs, OpenCS.Tests/PlateLayoutPersistenceTests.cs |
import/lira.md#plate-output-axes, reference/interface.md, concepts/sign-conventions.md |
готово (только импорт через API; для SCAD — из .SPR, см. import/scad.md#plate-output-axes) |
| Сечения стержней по данным ЛИРЫ, оси усилий стержня | LiraBarSectionSources.cs (LiraBarSectionContext, LiraBarSectionBuilder, LiraSelectedBarSectionSource, LiraAssignedBarSectionSource), BarElementSectionSource, LiraStiffnessParams, LiraApiSchemaReader (таблицы «Жёсткости», «Элементы - жёсткости»), LiraForceMapper.MapBar, LiraBarMaterialCreator, миграция БД v69; тесты CScore.Tests/Import/LiraBarSectionSourcesTests.cs, OpenCS.Tests/LiraStiffnessesTests.cs |
import/lira.md#lira-bar-sections, import/lira.md#bar-force-axes, import/lira.md#bar-sources, concepts/sign-conventions.md, reference/interface.md |
готово для сечения «Брус» (прочие формы, угол чистого вращения и прочие брусовые ТЗА не поддерживаются; оси SCAD не сверены) |
| Сечения стержней в проекте по данным схемы, армирование по подбору/заданию | ImportedBarSectionCreator, RcSectionBuilder, SteelSectionBuilder, ImportedBarRebar (огибающая подбора с округлением до 0,5 см² и унификацией Cluster с допуском перерасхода, ТЗА, участок SCAD с наибольшей продольной), ParametricRcSectionDefinition.ExtraBars, ParametricRcSectionGenerator; тесты CScore.Tests/Import/ImportedBarRebarTests.cs, RcSectionBuilderTests.cs, CScore.Tests/ParametricRc/ParametricRcExtraBarsTests.cs, OpenCS.Tests/ImportedBarSectionCreatorTests.cs, ImportedBarSectionCreatorRebarTests.cs |
import/lira.md#project-bar-sections, import/lira.md#selected-unification, import/scad.md#scad-sections, getting-started.md#parametric-rc-section, reference/interface.md |
готово для бруса и стальных профилей (тавр, двутавр, кольцо ЖБ не поддерживаются; армирование — только в прямоугольнике) |
| Эпюра коэффициента использования стержней | BarDiagram.Utilization, BarDiagram.UtilizationProfiles, FemCheckElementResults.ParseRows, FemBarDiagramVM, PlateRebarMosaicVM, Fem3DVM; тесты CScore.Tests/Fem/BarDiagramTests.cs, OpenCS.Tests/FemBarDiagramVmTests.cs, PlateRebarMosaicVmTests.cs |
import/lira.md#bar-diagrams, import/lira.md#rebar-mosaic |
готово |
| Сечения пластин по данным ЛИРЫ | LiraPlateSectionTemplates, MaterialCatalog, LiraPlateSectionCreator, CreateLiraPlateSectionsCommand; тесты CScore.Tests/Import/LiraPlateSectionTemplatesTests.cs, OpenCS.Tests/LiraPlateSectionCreatorTests.cs |
import/lira.md#lira-plate-sections, reference/interface.md |
готово для пластин |
| Импорт сечений из чертежа (DXF, AutoCAD, nanoCAD) | CScore/Import/Cad (CadSnapshot, CadSnapshotBuilder, CadGeometry, CadArcDiscretization, CadLayerRules, CadSectionRecognizer, CadStirrupRecognizer, CadSectionBuilder), OpenCS/Services/Cad (DxfSnapshotReader, CadComConnector), DatabaseService.SaveNewCrossSections, CadSectionImportVM, CadSectionImportPage; тесты CScore.Tests/Import/Cad/*, OpenCS.Tests/CadSectionImportTests.cs, ручные CadSectionImportManualTests.cs |
import/cad-sections.md, import/dxf-autocad.md, reference/interface.md |
готово, включая хомуты и шпильки (четыре способа изображения, подписи «Ø8 шаг 150», области поперечного армирования); арматура — только окружности; штриховки и связь с чертежом не поддерживаются; DXF от R2000 |
| DXF и AutoCAD: отдельные объекты | AcadImporter, DXF VM |
import/dxf-autocad.md |
реестр |
| Геометрический анализ прямой стержневой цепочки | CScore.Submodel.StraightBeamAnalyzer, MeshBeamSegmentAdapter, StraightBeamSubmodelExtractionService.Analyze, FemSchemaEditorVM.AnalyzeStraightChain |
calculations/fem.md, reference/interface.md |
готово |
| Субмодель прямой стержневой цепочки | CScore.Submodel (StraightBeamSubmodelBuilder, StraightBeamBoundaryScenarioBuilder, BoundaryDofModeSelector, RigidModeGauge, SubmodelMaterializationPlanner, SubmodelLinearVerification, SubmodelNonlinearVerification), сервисы StraightBeamSubmodelExtractionService, StraightBeamBoundaryScenarioService, StraightBeamSubmodelMaterializationService, StraightBeamSubmodelNonlinearService, SubmodelPanelVM; тесты CScore.Tests/Submodel, OpenCS.OpenSees.Tests (StraightBeamSubmodel*, SubmodelPanelVMTests), OpenCS.Tests (SubmodelReportRowsTests, SubmodelExtractGateTests) |
calculations/submodel.md, reference/interface.md#submodel-commands |
готово (одна прямая цепочка; граничные условия только по линейному родителю) |
| OpenSees | OpenCS.OpenSees, FemAnalysisExecutor |
calculations/opensees.md |
в работе |
| Результат расчёта схемы в 3D-виде | ViewModels/FemResult (FemResultLayer, FemResultSelection), PlateRebarMosaicVM (источник «Расчёт», фрагмент), Fem3DVM, CScore/Fem/BarDiagramScene; таблицы — FemAnalysisResultView, FemCsfeaResultView; тесты OpenCS.Tests/FemResult/FemResultLayerTests.cs, FemResultSelectionTests.cs, BarDiagramSceneTests.cs |
calculations/fem-results-3d.md |
готово |
Расчётные длины стали по устойчивости схемы: постановка csfea_buckling, задача устойчивости по недеформированной схеме по огибающей сжатия сочетаний или по определяющим сочетаниям, энергетический разбор форм (участие, качание), локальная задача, эквивалентная стойка r₁/r₂/r₃, номограммы ASCE и табл. 31 СП 16 поэлементно (смещение по форме, по жёсткости окружения или вручную), 3D-вид форм со списком и стрелками, μ и КЗУ, проверка steel_check «Авто (МКЭ)» с отпечатком входа |
CSfea.Core (StructuralMesh.SolveBuckling, SolveLocalBuckling, BeamEnergy, GroupRestraints), CSfea.CScore/Structural (RcBucklingAnalysis, RcBucklingLengths, RcRestrainedColumn, RcAlignmentChart, Sp16FrameTable, RcNomogramLengths), CScore/Fem/FemBucklingUnits, OpenCS.App/Services/FemSteelBuckling, FemBucklingRunner, FemCheckExecutor, FemCheckContext.SteelElementParams, FemResultLayer, FemCheckBucklingVM, FemAnalysisDialog; тесты CSfea.Tests/StructuralBucklingTests.cs, RcBucklingAnalysisTests.cs, RcBucklingLengthsTests.cs, RcBucklingLocalTests.cs, RcRestrainedColumnTests.cs, RcNomogramLengthsTests.cs, GolenkinWebinarTests.cs, CScore.Tests/Fem/FemBucklingUnitsTests.cs, OpenCS.Tests/FemBucklingRunnerTests.cs, FemSteelBucklingLengthsTests.cs, FemResult/BucklingResultLayerTests.cs, FemCheckBucklingVMTests.cs |
calculations/steel-effective-lengths-fem.md, import/lira.md#steel-mesh-lef, reference/normative-basis.md#sp16 |
готово (lef,b для φb и расчёт с несовершенствами не реализованы) |
| Нелинейный расчёт ЖБ оболочечно-стержневых схем (секущий) | CSfea.CScore (RcSecantAnalysis, PlateSecantShellState, CrossSectionSecantBeamState, RcSymmetry), CSfea.Core (SecantPicardSolver); тесты CSfea.Tests/SecantPicardTests.cs, McNeiceSlabTests.cs, VecchioShimBeamTests.cs, VecchioShimB1BeamTests.cs, RcStructuralModelTests.cs, RcSecantFieldsTests.cs; сдвиг стержня — BeamShearSection; схема — FemRcModelAdapter, FemCsfeaRunner, FemCsfeaResultVM, FemCsfeaForceSetBuilder, FemCsfeaCrackWidths (мозаики ширины раскрытия), CScore/Fem/FemLongTermShare (доля длительной части по наборам N и NL); тесты CScore.Tests/Fem/FemLongTermShareTests.cs, OpenCS.Gmsh.Tests/FemCsfeaRunnerTests.cs, OpenCS.Tests/FemCsfeaParamsTests.cs, OpenCS.Tests/FemCsfeaCrackWidthsTests.cs |
calculations/csfea-schema-analysis.md, verification/plate-mcneice-nonlinear.md, verification/beam-vecchio-shim-shear.md, reference/force-sets.md#csfea-step |
готово (секущий вариант) |
| Комбинации схемы в результате линейного CSfea (суперпозиция загружений без перерасчёта) | OpenCS.App/Services/FemCsfeaCombinationFields, FemCsfeaResultVM (LoadCaseItems, CombinationItems, ShowCombinations), Views/FemCsfeaCaseSelector, FemCsfeaForceSetBuilder.BuildNamed; тесты OpenCS.Tests/FemCsfeaCombinationFieldsTests.cs, FemResult/FemResultLayerTests.cs (CsfeaLinear_Combinations…, CaseSelector_ParsesXaml…), ручной FemCsfeaCombinationsManualTests.cs |
calculations/csfea-schema-analysis.md#linear-combinations, calculations/fem-results-3d.md |
готово |
| Огибающие групп комбинаций C/CL/N/NL/A в результате линейного CSfea (max/min с комбинацией-источником, эпюры двумя ветвями, таблицы max/min) | OpenCS.App/Services/FemCsfeaCombinationEnvelope, FemCsfeaResultVM (EnvelopeItems, ShowEnvelopes, EnvelopeAggregate), FemResultLayer (IsEnvelope, CanShowDeformed), PlateRebarMosaicVM.BarEnvelopeMinProfiles, Views/FemCsfeaResultView.AddEnvelopeColumns; тесты OpenCS.Tests/FemCsfeaCombinationEnvelopeTests.cs, FemResult/FemResultLayerTests.cs (CsfeaLinear_Envelope…), ручной FemCsfeaCombinationsManualTests.LinearEnvelopes |
calculations/csfea-schema-analysis.md#linear-envelopes, calculations/fem-results-3d.md#overlay |
готово |
| Пакет вариантов секущего CSfea (комбинации и загружения отдельными расчётами с нуля, досчёт после отмены, сводка пакета, огибающие групп с трещинами и a_crc) | OpenCS.App/Tasks/FemAnalysisParams (FemCsfeaBatch), FemCsfeaRunner.RunBatchAsync, OpenCS.App/Services/FemCsfeaEnvelopeQuantities (FemCsfeaEnvelopeAccumulator, FemCsfeaEnvelopeCodec), FemLoadSourcePickerVM (режим отметок), FemAnalysisDialog, FemCsfeaResultVM (IsBatch, BatchRows, BuildBatchEnvelope); тесты OpenCS.Gmsh.Tests/FemCsfeaRunnerTests.cs (Batch_…), OpenCS.Tests/FemResult/FemResultLayerTests.cs (CsfeaBatch_…), FemLoadSourcePickerVMTests.cs, OpenCS.OpenSees.Tests/FemAnalysisParamsTests.cs |
calculations/csfea-schema-analysis.md#batch |
готово |
| Наборы усилий CSfea по выбранным КЭ и наборы пакета «строка на вариант» (группы C/CL/N/NL/A/загружения, только дошедшие варианты, метка «КЭ · вариант», тип в конце имени); замечание проверки по КЭ о строках без парной NL/длительной строки | OpenCS.App/Services/FemCsfeaForceSetScope, FemCsfeaForceSetBuilder, FemCsfeaBatchForceSets, ViewModels/FemCsfeaBatchForceSetsVM, Views/FemCsfeaBatchForceSetsDialog, AppViewModel.CreateCsfeaBatchForceSets, CScore/Fem/FemCheckRunner.PerElement; тесты OpenCS.Tests/FemCsfeaForceSetScopeTests.cs, FemCsfeaBatchForceSetsTests.cs, FemCsfeaBatchForceSetsVMTests.cs, OpenCS.Gmsh.Tests/FemCsfeaRunnerTests.cs (Batch_ForceSetsPerVariant_…), CScore.Tests/Fem/FemEtaTests.cs (RunPerElement_RowPerVariant_…) |
calculations/csfea-schema-analysis.md#batch-force-sets, calculations/csfea-schema-analysis.md#force-sets, reference/force-sets.md#csfea-step |
готово |
| Длительные части вариантов пакета CSfea: NL (CL) каждой комбинации N (C) по доле длительности загружений, прогон на диаграммах варианта и на диаграммах NL (вторая модель), полный прогиб u₁ − u₂ + u₃ по п. 8.2.24, точная ширина раскрытия по п. 8.2.7, огибающие длительных частей, наборы «(N)» ↔ «(NL)» с метками вариантов | CScore/Fem/Combinations/FemLongTermPair, OpenCS.App/Services/FemCsfeaBatchLongTerm, FemCsfeaRunner.RunBatchAsync, FemCsfeaCombinationFields.FullDeflection, FemCsfeaCrackWidths, FemCsfeaBatchForceSets, ViewModels/FemCsfeaResultVM, Views/FemCsfeaCaseSelector; тесты CScore.Tests/FemLongTermPairTests.cs, OpenCS.Tests/FemCsfeaCombinationFieldsTests.cs, FemCsfeaCrackWidthsTests.cs, OpenCS.OpenSees.Tests/FemAnalysisParamsTests.cs, OpenCS.Gmsh.Tests/FemCsfeaRunnerTests.cs (Batch_LongTerm…) |
calculations/csfea-schema-analysis.md#batch-long-term, calculations/csfea-schema-analysis.md#batch-force-sets-pairs |
готово |
| Линейный расчёт схемы CSfea (независимые загружения одной факторизацией) | CSfea.CScore (RcLinearAnalysis, LinearRcSectionFactory), CSfea.Core (StructuralMesh.SolveLinear), CScore/Fem/ProjectElementStiffnessSource (стержни брутто), FemCsfeaRunner; секущий без физической нелинейности — RcSecantOptions.PhysicallyLinear; тесты CSfea.Tests/RcLinearAnalysisTests.cs, OpenCS.Gmsh.Tests/FemCsfeaRunnerTests.cs, OpenCS.Gmsh.Tests/CsfeaOwnSchemaLinearTests.cs, CScore.Tests/ProjectElementStiffnessSourceTests.cs |
calculations/csfea-schema-analysis.md#linear |
готово (арматура в жёсткость не входит) |
| Жёсткости сечений по результату CSfea: запись секущих и начальных жёсткостей и деформаций сечений в поля шага (кодек CSF1 v3), мозаики и эпюры E₀ / E / E/E₀, карточка, вкладка «Жёсткости» | CSfea.CScore/Structural/RcSecantFields.cs (RcSecantStepFields, RcSecantFieldExtractor), OpenCS.App/Services/FemCsfeaStepFieldsCodec, FemCsfeaStiffness, FemCsfeaResultVM, FemResultLayer, PlateRebarMosaicVM, CalcSettings.CsfeaBarStiffnessMean; тесты CSfea.Tests/RcSecantFieldsTests.cs, OpenCS.Tests/FemResult/FemCsfeaStepFieldsCodecTests.cs, FemResult/FemResultLayerTests.cs, OpenCS.Gmsh.Tests/FemCsfeaRunnerTests.cs |
calculations/csfea-schema-analysis.md#stiffness, #recording |
готово |
| НДС сечения КЭ по результату CSfea: фибровое сечение стержня в точках i, ½, j (трещина по флагу КЭ, ψs), слоистое сечение пластины в центре КЭ | OpenCS.App/Services/FemCsfeaBarSectionState, FemCsfeaPlateSectionState, FemCsfeaRebarStressSource, ViewModels/FemSectionSummaryVM, Views/FemSectionStateWindow, Views/FemPlateSectionStateWindow, меню FemSchemaView3D; тесты OpenCS.Tests/FemResult/FemCsfeaBarSectionStateTests.cs, FemCsfeaPlateSectionStateTests.cs |
calculations/csfea-schema-analysis.md#section-state, calculations/fem-results-3d.md#selection |
готово |
| Ширина раскрытия трещин стержней по результату CSfea (ф. (8.128) по деформациям арматуры расчёта, п. 8.2.7; запасной путь — пп. 8.2.15, 8.2.16 по усилиям) | OpenCS.App/Services/FemCsfeaBarCrackWidths, CScore/Sp63/CrackWidth/Sp63CrackWidthChecker, FemResultLayer.BarCrack, PlateRebarMosaicVM; тесты OpenCS.Tests/FemResult/FemCsfeaBarCrackWidthsTests.cs, CScore.Tests/Sp63CrackWidth/Sp63CrackWidthCheckerTests.cs |
calculations/csfea-schema-analysis.md#bar-crack-width |
готово (у пластин — упрощённый метод) |
| Инженерная нелинейность CSfea: линейный расчёт загружений на секущих жёсткостях КЭ конечного состояния (постановка, вариант пакета, длительная часть), отпечаток источника, нижний предел e_min, самопроверка определяющей комбинации, команда «Линейный расчёт на этих жёсткостях…», шапка и устаревание; P-Δ источника с геометрической нелинейностью (\(K_s + K_\sigma\) определяющего состояния), признак «второй порядок» у наборов усилий и η = 1 в проверках по КЭ | CSfea.CScore/Structural/RcRecordedSections.cs (RecordedRcSectionFactory), RcLinearOptions.Sections, RcLinearOptions.GeometricFields, StructuralMesh.SolveLinear (матрица КЭ), FemCsfeaParams.SourcePDelta, ForceSet.SecondOrder (БД v89), FemCheckRunner.PerElement, SecantPicardSolver.SolvedMatrices, OpenCS.App/Services/FemCsfeaStiffnessSources, FemCsfeaRunner, FemCsfeaStepFieldsCodec (флаг 16), CalcSettings.CsfeaStiffnessFloor, Views/FemAnalysisDialog, ViewModels/FemCsfeaResultVM, AppViewModel.NewLinearOnStiffness; тесты CSfea.Tests/RcRecordedSectionsTests.cs, CSfea.Tests/RcLinearPDeltaTests.cs, OpenCS.Tests/FemCsfeaStiffnessSourcesTests.cs, OpenCS.Tests/ForceSetSecondOrderTests.cs, CScore.Tests/Fem/FemEtaTests.cs, OpenCS.Gmsh.Tests/FemCsfeaRunnerTests.cs (LinearOnStiffness_Command_EndToEnd, Linear_WithSourcePDelta_SolvesSecondOrder) |
calculations/engineering-nonlinearity.md, calculations/csfea-schema-analysis.md#engineering, import/lira.md#per-element-buckling |
готово (без касательной жёсткости и РСУ) |
| Детальные эпюры НДС вдоль выбранных стержней CSfea (εb, σb, εs, σs, x, ψs в 5…41 точках КЭ) | OpenCS.App/Services/FemCsfeaBarDetail, ViewModels/FemCsfeaBarDetailVM, Views/FemCsfeaBarDetailDialog; тесты OpenCS.Tests/FemResult/FemCsfeaBarDetailTests.cs |
calculations/csfea-schema-analysis.md#bar-detail |
готово |
| Отчёты | OpenCS.Reporting, провайдеры |
calculations/reports.md |
реестр |
| Экспорт материалов в Abaqus | CScore/Abaqus/AbaqusCdp*, AbaqusSteel*, AbaqusCdpExportWindow, AbaqusCdpExportVM, тесты CScore.Tests (Abaqus*) |
export/abaqus-materials.md |
готово |
| Тесты и эталоны | проверочные сценарии и контрольные результаты | verification/index.md |
в работе |
Правило обновления
При добавлении нового Kind, Command или контекстного действия сначала добавляется строка в эту матрицу, затем создаётся статья или явно фиксируется причина, почему отдельная статья не нужна. Перед релизом статус реестр не допускается для реализованных функций.