initial commit

This commit is contained in:
WanderingPenwing 2024-09-20 17:41:55 +02:00
commit fe9035fd18
60 changed files with 3331 additions and 0 deletions

4
.obsidian/app.json vendored Normal file
View file

@ -0,0 +1,4 @@
{
"alwaysUpdateLinks": true,
"useMarkdownLinks": false
}

6
.obsidian/appearance.json vendored Normal file
View file

@ -0,0 +1,6 @@
{
"accentColor": "#44a976",
"theme": "moonstone",
"baseFontSize": 18,
"baseFontSizeAction": true
}

6
.obsidian/community-plugins.json vendored Normal file
View file

@ -0,0 +1,6 @@
[
"no-dupe-leaves",
"obsidian-excalidraw-plugin",
"open-in-new-tab",
"obsidian-hider"
]

30
.obsidian/core-plugins-migration.json vendored Normal file
View file

@ -0,0 +1,30 @@
{
"file-explorer": true,
"global-search": true,
"switcher": true,
"graph": true,
"backlink": true,
"canvas": true,
"outgoing-link": true,
"tag-pane": true,
"properties": false,
"page-preview": true,
"daily-notes": true,
"templates": true,
"note-composer": true,
"command-palette": true,
"slash-command": false,
"editor-status": true,
"bookmarks": true,
"markdown-importer": false,
"zk-prefixer": false,
"random-note": false,
"outline": true,
"word-count": true,
"slides": false,
"audio-recorder": false,
"workspaces": false,
"file-recovery": true,
"publish": false,
"sync": false
}

20
.obsidian/core-plugins.json vendored Normal file
View file

@ -0,0 +1,20 @@
[
"file-explorer",
"global-search",
"switcher",
"graph",
"backlink",
"canvas",
"outgoing-link",
"tag-pane",
"page-preview",
"daily-notes",
"templates",
"note-composer",
"command-palette",
"editor-status",
"bookmarks",
"outline",
"word-count",
"file-recovery"
]

22
.obsidian/graph.json vendored Normal file
View file

@ -0,0 +1,22 @@
{
"collapse-filter": true,
"search": "",
"showTags": false,
"showAttachments": false,
"hideUnresolved": false,
"showOrphans": true,
"collapse-color-groups": true,
"colorGroups": [],
"collapse-display": true,
"showArrow": false,
"textFadeMultiplier": 0,
"nodeSizeMultiplier": 1,
"lineSizeMultiplier": 1,
"collapse-forces": true,
"centerStrength": 0.518713248970312,
"repelStrength": 10,
"linkStrength": 1,
"linkDistance": 250,
"scale": 1,
"close": false
}

View file

@ -0,0 +1,6 @@
/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin
*/
var w=Object.create;var u=Object.defineProperty;var y=Object.getOwnPropertyDescriptor;var k=Object.getOwnPropertyNames;var P=Object.getPrototypeOf,v=Object.prototype.hasOwnProperty;var g=e=>u(e,"__esModule",{value:!0});var m=(e,t)=>{g(e);for(var r in t)u(e,r,{get:t[r],enumerable:!0})},O=(e,t,r)=>{if(t&&typeof t=="object"||typeof t=="function")for(let n of k(t))!v.call(e,n)&&n!=="default"&&u(e,n,{get:()=>t[n],enumerable:!(r=y(t,n))||r.enumerable});return e},b=e=>O(g(u(e!=null?w(P(e)):{},"default",e&&e.__esModule&&"default"in e?{get:()=>e.default,enumerable:!0}:{value:e,enumerable:!0})),e);m(exports,{default:()=>l});var s=b(require("obsidian"));function d(e,t){let r=Object.keys(t).map(n=>C(e,n,t[n]));return r.length===1?r[0]:function(){r.forEach(n=>n())}}function C(e,t,r){let n=e[t],o=e.hasOwnProperty(t),i=r(n);return n&&Object.setPrototypeOf(i,n),Object.setPrototypeOf(a,i),e[t]=a,c;function a(...p){return i===n&&e[t]===a&&c(),i.apply(this,p)}function c(){e[t]===a&&(o?e[t]=n:delete e[t]),i!==n&&(i=n,Object.setPrototypeOf(a,n||Function))}}var h,l=class extends s.Plugin{async onload(){h=d(s.Workspace.prototype,{openLinkText(t){return function(r,n,o,i){if(o)return t&&t.apply(this,[r,n,o,i]);let a=F(r),c=!1;return app.workspace.iterateAllLeaves(p=>{let f=p.getViewState();f.type==="markdown"&&f.state?.file===a.path&&(app.workspace.setActiveLeaf(p,{focus:!0}),c=!0)}),c||(c=t&&t.apply(this,[r,n,o,i])),A(a),c}}})}onunload(){h()}};function A(e){let t=app.metadataCache.getCache(e.path),r=app.workspace.getActiveViewOfType(s.MarkdownView);if(e.heading){let n=t.headings.find(o=>o.heading===e.heading);n&&r.editor.setCursor(n.position.start.line)}else if(e.block){let n=t.blocks[e.block];n&&r.editor.setCursor(n.position.start.line)}}function F(e){let t=e.match(/\^(.*)$/),r=t?t[1]:void 0;e=e.replace(/(\^.*)$/,"");let n=e.match(/#(.*)$/),o=n?n[1]:void 0;e=e.replace(/(#.*)$/,"");let i;try{i=app.metadataCache.getFirstLinkpathDest((0,s.getLinkpath)(e),app.workspace.getActiveFile()?.path)}catch{i=null}return{path:i?.path??e,heading:o,block:r}}

View file

@ -0,0 +1,10 @@
{
"id": "no-dupe-leaves",
"name": "No dupe leaves",
"version": "0.0.12",
"minAppVersion": "1.3.5",
"description": "Don't reopen notes that are already open",
"author": "Simon Cambier",
"authorUrl": "",
"isDesktopOnly": true
}

View file

@ -0,0 +1,781 @@
{
"folder": "Excalidraw",
"cropFolder": "",
"annotateFolder": "",
"embedUseExcalidrawFolder": false,
"templateFilePath": "Excalidraw/Template.excalidraw",
"scriptFolderPath": "Excalidraw/Scripts",
"compress": true,
"decompressForMDView": false,
"onceOffCompressFlagReset": true,
"onceOffGPTVersionReset": false,
"autosave": true,
"autosaveIntervalDesktop": 30000,
"autosaveIntervalMobile": 20000,
"drawingFilenamePrefix": "Drawing ",
"drawingEmbedPrefixWithFilename": true,
"drawingFilnameEmbedPostfix": " ",
"drawingFilenameDateTime": "YYYY-MM-DD HH.mm.ss",
"useExcalidrawExtension": true,
"cropPrefix": "cropped_",
"annotatePrefix": "annotated_",
"annotatePreserveSize": false,
"previewImageType": "SVGIMG",
"allowImageCache": true,
"allowImageCacheInScene": true,
"displayExportedImageIfAvailable": false,
"previewMatchObsidianTheme": false,
"width": "400",
"height": "",
"dynamicStyling": "colorful",
"isLeftHanded": false,
"iframeMatchExcalidrawTheme": true,
"matchTheme": false,
"matchThemeAlways": false,
"matchThemeTrigger": false,
"defaultMode": "normal",
"defaultPenMode": "never",
"penModeDoubleTapEraser": true,
"penModeCrosshairVisible": true,
"renderImageInMarkdownReadingMode": false,
"renderImageInHoverPreviewForMDNotes": false,
"renderImageInMarkdownToPDF": false,
"allowPinchZoom": false,
"allowWheelZoom": false,
"zoomToFitOnOpen": true,
"zoomToFitOnResize": true,
"zoomToFitMaxLevel": 2,
"linkPrefix": "📍",
"urlPrefix": "🌐",
"parseTODO": false,
"todo": "☐",
"done": "🗹",
"hoverPreviewWithoutCTRL": false,
"linkOpacity": 1,
"openInAdjacentPane": false,
"showSecondOrderLinks": true,
"focusOnFileTab": false,
"openInMainWorkspace": true,
"showLinkBrackets": true,
"allowCtrlClick": true,
"forceWrap": false,
"pageTransclusionCharLimit": 200,
"wordWrappingDefault": 0,
"removeTransclusionQuoteSigns": true,
"iframelyAllowed": true,
"pngExportScale": 1,
"exportWithTheme": true,
"exportWithBackground": true,
"exportPaddingSVG": 10,
"exportEmbedScene": false,
"keepInSync": false,
"autoexportSVG": false,
"autoexportPNG": false,
"autoExportLightAndDark": false,
"autoexportExcalidraw": false,
"embedType": "excalidraw",
"embedMarkdownCommentLinks": true,
"embedWikiLink": true,
"syncExcalidraw": false,
"experimentalFileType": false,
"experimentalFileTag": "✏️",
"experimentalLivePreview": true,
"fadeOutExcalidrawMarkup": false,
"loadPropertySuggestions": true,
"experimentalEnableFourthFont": false,
"experimantalFourthFont": "Virgil",
"addDummyTextElement": false,
"zoteroCompatibility": false,
"fieldSuggester": true,
"compatibilityMode": false,
"drawingOpenCount": 0,
"library": "deprecated",
"library2": {
"type": "excalidrawlib",
"version": 2,
"source": "https://github.com/zsviczian/obsidian-excalidraw-plugin/releases/tag/2.5.0",
"libraryItems": []
},
"imageElementNotice": true,
"mdSVGwidth": 500,
"mdSVGmaxHeight": 800,
"mdFont": "Virgil",
"mdFontColor": "Black",
"mdBorderColor": "Black",
"mdCSS": "",
"scriptEngineSettings": {},
"defaultTrayMode": true,
"previousRelease": "2.5.0",
"showReleaseNotes": true,
"showNewVersionNotification": true,
"latexBoilerplate": "\\color{blue}",
"taskboneEnabled": false,
"taskboneAPIkey": "",
"pinnedScripts": [],
"customPens": [
{
"type": "default",
"freedrawOnly": false,
"strokeColor": "#000000",
"backgroundColor": "transparent",
"fillStyle": "hachure",
"strokeWidth": 0,
"roughness": 0,
"penOptions": {
"highlighter": false,
"constantPressure": false,
"hasOutline": false,
"outlineWidth": 1,
"options": {
"thinning": 0.6,
"smoothing": 0.5,
"streamline": 0.5,
"easing": "easeOutSine",
"start": {
"cap": true,
"taper": 0,
"easing": "linear"
},
"end": {
"cap": true,
"taper": 0,
"easing": "linear"
}
}
}
},
{
"type": "highlighter",
"freedrawOnly": true,
"strokeColor": "#FFC47C",
"backgroundColor": "#FFC47C",
"fillStyle": "solid",
"strokeWidth": 2,
"roughness": null,
"penOptions": {
"highlighter": true,
"constantPressure": true,
"hasOutline": true,
"outlineWidth": 4,
"options": {
"thinning": 1,
"smoothing": 0.5,
"streamline": 0.5,
"easing": "linear",
"start": {
"taper": 0,
"cap": true,
"easing": "linear"
},
"end": {
"taper": 0,
"cap": true,
"easing": "linear"
}
}
}
},
{
"type": "finetip",
"freedrawOnly": false,
"strokeColor": "#3E6F8D",
"backgroundColor": "transparent",
"fillStyle": "hachure",
"strokeWidth": 0.5,
"roughness": 0,
"penOptions": {
"highlighter": false,
"hasOutline": false,
"outlineWidth": 1,
"constantPressure": true,
"options": {
"smoothing": 0.4,
"thinning": -0.5,
"streamline": 0.4,
"easing": "linear",
"start": {
"taper": 5,
"cap": false,
"easing": "linear"
},
"end": {
"taper": 5,
"cap": false,
"easing": "linear"
}
}
}
},
{
"type": "fountain",
"freedrawOnly": false,
"strokeColor": "#000000",
"backgroundColor": "transparent",
"fillStyle": "hachure",
"strokeWidth": 2,
"roughness": 0,
"penOptions": {
"highlighter": false,
"constantPressure": false,
"hasOutline": false,
"outlineWidth": 1,
"options": {
"smoothing": 0.2,
"thinning": 0.6,
"streamline": 0.2,
"easing": "easeInOutSine",
"start": {
"taper": 150,
"cap": true,
"easing": "linear"
},
"end": {
"taper": 1,
"cap": true,
"easing": "linear"
}
}
}
},
{
"type": "marker",
"freedrawOnly": true,
"strokeColor": "#B83E3E",
"backgroundColor": "#FF7C7C",
"fillStyle": "dashed",
"strokeWidth": 2,
"roughness": 3,
"penOptions": {
"highlighter": false,
"constantPressure": true,
"hasOutline": true,
"outlineWidth": 4,
"options": {
"thinning": 1,
"smoothing": 0.5,
"streamline": 0.5,
"easing": "linear",
"start": {
"taper": 0,
"cap": true,
"easing": "linear"
},
"end": {
"taper": 0,
"cap": true,
"easing": "linear"
}
}
}
},
{
"type": "thick-thin",
"freedrawOnly": true,
"strokeColor": "#CECDCC",
"backgroundColor": "transparent",
"fillStyle": "hachure",
"strokeWidth": 0,
"roughness": null,
"penOptions": {
"highlighter": true,
"constantPressure": true,
"hasOutline": false,
"outlineWidth": 1,
"options": {
"thinning": 1,
"smoothing": 0.5,
"streamline": 0.5,
"easing": "linear",
"start": {
"taper": 0,
"cap": true,
"easing": "linear"
},
"end": {
"cap": true,
"taper": true,
"easing": "linear"
}
}
}
},
{
"type": "thin-thick-thin",
"freedrawOnly": true,
"strokeColor": "#CECDCC",
"backgroundColor": "transparent",
"fillStyle": "hachure",
"strokeWidth": 0,
"roughness": null,
"penOptions": {
"highlighter": true,
"constantPressure": true,
"hasOutline": false,
"outlineWidth": 1,
"options": {
"thinning": 1,
"smoothing": 0.5,
"streamline": 0.5,
"easing": "linear",
"start": {
"cap": true,
"taper": true,
"easing": "linear"
},
"end": {
"cap": true,
"taper": true,
"easing": "linear"
}
}
}
},
{
"type": "default",
"freedrawOnly": false,
"strokeColor": "#000000",
"backgroundColor": "transparent",
"fillStyle": "hachure",
"strokeWidth": 0,
"roughness": 0,
"penOptions": {
"highlighter": false,
"constantPressure": false,
"hasOutline": false,
"outlineWidth": 1,
"options": {
"thinning": 0.6,
"smoothing": 0.5,
"streamline": 0.5,
"easing": "easeOutSine",
"start": {
"cap": true,
"taper": 0,
"easing": "linear"
},
"end": {
"cap": true,
"taper": 0,
"easing": "linear"
}
}
}
},
{
"type": "default",
"freedrawOnly": false,
"strokeColor": "#000000",
"backgroundColor": "transparent",
"fillStyle": "hachure",
"strokeWidth": 0,
"roughness": 0,
"penOptions": {
"highlighter": false,
"constantPressure": false,
"hasOutline": false,
"outlineWidth": 1,
"options": {
"thinning": 0.6,
"smoothing": 0.5,
"streamline": 0.5,
"easing": "easeOutSine",
"start": {
"cap": true,
"taper": 0,
"easing": "linear"
},
"end": {
"cap": true,
"taper": 0,
"easing": "linear"
}
}
}
},
{
"type": "default",
"freedrawOnly": false,
"strokeColor": "#000000",
"backgroundColor": "transparent",
"fillStyle": "hachure",
"strokeWidth": 0,
"roughness": 0,
"penOptions": {
"highlighter": false,
"constantPressure": false,
"hasOutline": false,
"outlineWidth": 1,
"options": {
"thinning": 0.6,
"smoothing": 0.5,
"streamline": 0.5,
"easing": "easeOutSine",
"start": {
"cap": true,
"taper": 0,
"easing": "linear"
},
"end": {
"cap": true,
"taper": 0,
"easing": "linear"
}
}
}
}
],
"numberOfCustomPens": 0,
"pdfScale": 4,
"pdfBorderBox": true,
"pdfFrame": false,
"pdfGapSize": 20,
"pdfGroupPages": false,
"pdfLockAfterImport": true,
"pdfNumColumns": 1,
"pdfNumRows": 1,
"pdfDirection": "right",
"pdfImportScale": 0.3,
"gridSettings": {
"DYNAMIC_COLOR": true,
"COLOR": "#000000",
"OPACITY": 50
},
"laserSettings": {
"DECAY_LENGTH": 50,
"DECAY_TIME": 1000,
"COLOR": "#ff0000"
},
"embeddableMarkdownDefaults": {
"useObsidianDefaults": false,
"backgroundMatchCanvas": false,
"backgroundMatchElement": true,
"backgroundColor": "#fff",
"backgroundOpacity": 60,
"borderMatchElement": true,
"borderColor": "#fff",
"borderOpacity": 0,
"filenameVisible": false
},
"markdownNodeOneClickEditing": false,
"canvasImmersiveEmbed": true,
"startupScriptPath": "",
"openAIAPIToken": "",
"openAIDefaultTextModel": "gpt-3.5-turbo-1106",
"openAIDefaultVisionModel": "gpt-4o",
"openAIDefaultImageGenerationModel": "dall-e-3",
"openAIURL": "https://api.openai.com/v1/chat/completions",
"openAIImageGenerationURL": "https://api.openai.com/v1/images/generations",
"openAIImageEditsURL": "https://api.openai.com/v1/images/edits",
"openAIImageVariationURL": "https://api.openai.com/v1/images/variations",
"modifierKeyConfig": {
"Mac": {
"LocalFileDragAction": {
"defaultAction": "image-import",
"rules": [
{
"shift": false,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": false,
"result": "image-import"
},
{
"shift": true,
"ctrl_cmd": false,
"alt_opt": true,
"meta_ctrl": false,
"result": "link"
},
{
"shift": true,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": false,
"result": "image-url"
},
{
"shift": false,
"ctrl_cmd": false,
"alt_opt": true,
"meta_ctrl": false,
"result": "embeddable"
}
]
},
"WebBrowserDragAction": {
"defaultAction": "image-url",
"rules": [
{
"shift": false,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": false,
"result": "image-url"
},
{
"shift": true,
"ctrl_cmd": false,
"alt_opt": true,
"meta_ctrl": false,
"result": "link"
},
{
"shift": false,
"ctrl_cmd": false,
"alt_opt": true,
"meta_ctrl": false,
"result": "embeddable"
},
{
"shift": true,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": false,
"result": "image-import"
}
]
},
"InternalDragAction": {
"defaultAction": "link",
"rules": [
{
"shift": false,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": false,
"result": "link"
},
{
"shift": false,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": true,
"result": "embeddable"
},
{
"shift": true,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": false,
"result": "image"
},
{
"shift": true,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": true,
"result": "image-fullsize"
}
]
},
"LinkClickAction": {
"defaultAction": "new-tab",
"rules": [
{
"shift": false,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": false,
"result": "active-pane"
},
{
"shift": false,
"ctrl_cmd": true,
"alt_opt": false,
"meta_ctrl": false,
"result": "new-tab"
},
{
"shift": false,
"ctrl_cmd": true,
"alt_opt": true,
"meta_ctrl": false,
"result": "new-pane"
},
{
"shift": true,
"ctrl_cmd": true,
"alt_opt": true,
"meta_ctrl": false,
"result": "popout-window"
},
{
"shift": false,
"ctrl_cmd": true,
"alt_opt": false,
"meta_ctrl": true,
"result": "md-properties"
}
]
}
},
"Win": {
"LocalFileDragAction": {
"defaultAction": "image-import",
"rules": [
{
"shift": false,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": false,
"result": "image-import"
},
{
"shift": false,
"ctrl_cmd": true,
"alt_opt": false,
"meta_ctrl": false,
"result": "link"
},
{
"shift": true,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": false,
"result": "image-url"
},
{
"shift": true,
"ctrl_cmd": true,
"alt_opt": false,
"meta_ctrl": false,
"result": "embeddable"
}
]
},
"WebBrowserDragAction": {
"defaultAction": "image-url",
"rules": [
{
"shift": false,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": false,
"result": "image-url"
},
{
"shift": false,
"ctrl_cmd": true,
"alt_opt": false,
"meta_ctrl": false,
"result": "link"
},
{
"shift": true,
"ctrl_cmd": true,
"alt_opt": false,
"meta_ctrl": false,
"result": "embeddable"
},
{
"shift": true,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": false,
"result": "image-import"
}
]
},
"InternalDragAction": {
"defaultAction": "link",
"rules": [
{
"shift": false,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": false,
"result": "link"
},
{
"shift": true,
"ctrl_cmd": true,
"alt_opt": false,
"meta_ctrl": false,
"result": "embeddable"
},
{
"shift": true,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": false,
"result": "image"
},
{
"shift": false,
"ctrl_cmd": true,
"alt_opt": true,
"meta_ctrl": false,
"result": "image-fullsize"
}
]
},
"LinkClickAction": {
"defaultAction": "new-tab",
"rules": [
{
"shift": false,
"ctrl_cmd": false,
"alt_opt": false,
"meta_ctrl": false,
"result": "active-pane"
},
{
"shift": false,
"ctrl_cmd": true,
"alt_opt": false,
"meta_ctrl": false,
"result": "new-tab"
},
{
"shift": false,
"ctrl_cmd": true,
"alt_opt": true,
"meta_ctrl": false,
"result": "new-pane"
},
{
"shift": true,
"ctrl_cmd": true,
"alt_opt": true,
"meta_ctrl": false,
"result": "popout-window"
},
{
"shift": false,
"ctrl_cmd": true,
"alt_opt": false,
"meta_ctrl": true,
"result": "md-properties"
}
]
}
}
},
"slidingPanesSupport": false,
"areaZoomLimit": 1,
"longPressDesktop": 500,
"longPressMobile": 500,
"isDebugMode": false,
"rank": "Bronze",
"modifierKeyOverrides": [
{
"modifiers": [
"Mod"
],
"key": "Enter"
},
{
"modifiers": [
"Mod"
],
"key": "k"
},
{
"modifiers": [
"Mod"
],
"key": "G"
}
],
"showSplashscreen": true
}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,12 @@
{
"id": "obsidian-excalidraw-plugin",
"name": "Excalidraw",
"version": "2.5.0",
"minAppVersion": "1.1.6",
"description": "An Obsidian plugin to edit and view Excalidraw drawings",
"author": "Zsolt Viczian",
"authorUrl": "https://www.zsolt.blog",
"fundingUrl": "https://ko-fi.com/zsolt",
"helpUrl": "https://github.com/zsviczian/obsidian-excalidraw-plugin#readme",
"isDesktopOnly": false
}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,13 @@
{
"hideStatus": false,
"hideTabs": false,
"hideScroll": true,
"hideSidebarButtons": true,
"hideTooltips": true,
"hideFileNavButtons": true,
"hideSearchSuggestions": false,
"hideSearchCounts": true,
"hideInstructions": false,
"hidePropertiesReading": false,
"hideVault": true
}

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,11 @@
{
"id": "obsidian-hider",
"name": "Hider",
"version": "1.5.1",
"minAppVersion": "1.6.0",
"description": "Hide UI elements such as tooltips, status, titlebar and more",
"author": "@kepano",
"authorUrl": "https://www.twitter.com/kepano",
"fundingUrl": "https://www.buymeacoffee.com/kepano",
"isDesktopOnly": false
}

View file

@ -0,0 +1,66 @@
/* Hides vault name */
.hider-vault .workspace-sidedock-vault-profile,
body.hider-vault:not(.is-mobile) .workspace-split.mod-left-split .workspace-sidedock-vault-profile {
display:none;
}
/* Hide tabs */
.hider-tabs .mod-root .workspace-tabs .workspace-tab-header-container {
display: none;
}
.hider-tabs .mod-top-left-space .view-header {
padding-left: var(--frame-left-space);
}
/* Hide sidebar buttons */
.hider-sidebar-buttons .sidebar-toggle-button.mod-right,
.hider-sidebar-buttons .sidebar-toggle-button.mod-left {
display: none;
}
.hider-sidebar-buttons.mod-macos.is-hidden-frameless:not(.is-popout-window) .workspace .workspace-tabs.mod-top-right-space .workspace-tab-header-container {
padding-right: 4px;
}
.hider-sidebar-buttons.mod-macos {
--frame-left-space: 60px;
}
/* Hide meta */
.hider-meta .markdown-reading-view .metadata-container {
display:none;
}
/* Hide scrollbars */
.hider-scroll ::-webkit-scrollbar {
display:none;
}
/* Hide status */
.hider-status .status-bar {
display:none;
}
/* Hide tooltips */
.hider-tooltips .tooltip {
display:none;
}
/* Hide search suggestions */
.hider-search-suggestions .suggestion-container.mod-search-suggestion {
display: none;
}
/* Hide search count flair */
.hider-search-counts .tree-item-flair:not(.tag-pane-tag-count) {
display:none;
}
/* Hide instructions */
.hider-instructions .prompt-instructions {
display:none;
}
/* Hide file nav header */
.hider-file-nav-header .workspace-leaf-content[data-type=file-explorer] .nav-header {
display: none;
}

View file

@ -0,0 +1,145 @@
/*
THIS IS A GENERATED/BUNDLED FILE BY ESBUILD
if you want to view the source, please visit the github repository of this plugin
*/
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// main.ts
var main_exports = {};
__export(main_exports, {
default: () => OpenInNewTabPlugin
});
module.exports = __toCommonJS(main_exports);
var import_obsidian = require("obsidian");
// node_modules/monkey-around/mjs/index.js
function around(obj, factories) {
const removers = Object.keys(factories).map((key) => around1(obj, key, factories[key]));
return removers.length === 1 ? removers[0] : function() {
removers.forEach((r) => r());
};
}
function around1(obj, method, createWrapper) {
const original = obj[method], hadOwn = obj.hasOwnProperty(method);
let current = createWrapper(original);
if (original)
Object.setPrototypeOf(current, original);
Object.setPrototypeOf(wrapper, current);
obj[method] = wrapper;
return remove;
function wrapper(...args) {
if (current === original && obj[method] === wrapper)
remove();
return current.apply(this, args);
}
function remove() {
if (obj[method] === wrapper) {
if (hadOwn)
obj[method] = original;
else
delete obj[method];
}
if (current === original)
return;
current = original;
Object.setPrototypeOf(wrapper, original || Function);
}
}
// main.ts
var OpenInNewTabPlugin = class extends import_obsidian.Plugin {
async onload() {
this.monkeyPatchOpenLinkText();
this.registerDomEvent(document, "click", this.generateClickHandler(this.app), {
capture: true
});
}
onunload() {
this.uninstallMonkeyPatch && this.uninstallMonkeyPatch();
}
monkeyPatchOpenLinkText() {
this.uninstallMonkeyPatch = around(import_obsidian.Workspace.prototype, {
openLinkText(oldOpenLinkText) {
return async function(linkText, sourcePath, newLeaf, openViewState) {
var _a;
const fileName = (_a = linkText.split("#")) == null ? void 0 : _a[0];
const isSameFile = fileName === "" || `${fileName}.md` === sourcePath;
let fileAlreadyOpen = false;
if (!isSameFile) {
this.app.workspace.iterateAllLeaves((leaf) => {
var _a2, _b, _c, _d;
const viewState = leaf.getViewState();
const matchesMarkdownFile = viewState.type === "markdown" && ((_b = (_a2 = viewState.state) == null ? void 0 : _a2.file) == null ? void 0 : _b.endsWith(`${fileName}.md`));
const matchesNonMarkdownFile = viewState.type !== "markdown" && ((_d = (_c = viewState.state) == null ? void 0 : _c.file) == null ? void 0 : _d.endsWith(fileName));
if (matchesMarkdownFile || matchesNonMarkdownFile) {
this.app.workspace.setActiveLeaf(leaf);
fileAlreadyOpen = true;
}
});
}
let openNewLeaf = true;
if (isSameFile) {
openNewLeaf = newLeaf || false;
} else if (fileAlreadyOpen) {
openNewLeaf = false;
}
oldOpenLinkText && oldOpenLinkText.apply(this, [
linkText,
sourcePath,
openNewLeaf,
openViewState
]);
};
}
});
}
generateClickHandler(appInstance) {
return function(event) {
var _a, _b;
const target = event.target;
const isNavFile = ((_a = target == null ? void 0 : target.classList) == null ? void 0 : _a.contains("nav-file-title")) || ((_b = target == null ? void 0 : target.classList) == null ? void 0 : _b.contains("nav-file-title-content"));
const titleEl = target == null ? void 0 : target.closest(".nav-file-title");
const pureClick = !event.shiftKey && !event.ctrlKey && !event.metaKey && !event.shiftKey && !event.altKey;
if (isNavFile && titleEl && pureClick) {
const path = titleEl.getAttribute("data-path");
if (path) {
let result = false;
appInstance.workspace.iterateAllLeaves((leaf) => {
var _a2;
const viewState = leaf.getViewState();
if (((_a2 = viewState.state) == null ? void 0 : _a2.file) === path) {
appInstance.workspace.setActiveLeaf(leaf);
result = true;
}
});
const emptyLeaves = appInstance.workspace.getLeavesOfType("empty");
if (emptyLeaves.length > 0) {
appInstance.workspace.setActiveLeaf(emptyLeaves[0]);
return;
}
if (!result) {
event.stopPropagation();
appInstance.workspace.openLinkText(path, path, true);
}
}
}
};
}
};

View file

@ -0,0 +1,10 @@
{
"id": "open-in-new-tab",
"name": "Open In New Tab",
"version": "1.0.9",
"minAppVersion": "0.15.0",
"description": "Opens files in new tabs",
"author": "Patrick Lee",
"authorUrl": "https://patricklee.nyc",
"isDesktopOnly": false
}

27
.obsidian/types.json vendored Normal file
View file

@ -0,0 +1,27 @@
{
"types": {
"aliases": "aliases",
"cssclasses": "multitext",
"tags": "tags",
"excalidraw-plugin": "text",
"excalidraw-export-transparent": "checkbox",
"excalidraw-mask": "checkbox",
"excalidraw-export-dark": "checkbox",
"excalidraw-export-padding": "number",
"excalidraw-export-pngscale": "number",
"excalidraw-export-embed-scene": "checkbox",
"excalidraw-link-prefix": "text",
"excalidraw-url-prefix": "text",
"excalidraw-link-brackets": "checkbox",
"excalidraw-onload-script": "text",
"excalidraw-linkbutton-opacity": "number",
"excalidraw-default-mode": "text",
"excalidraw-font": "text",
"excalidraw-font-color": "text",
"excalidraw-border-color": "text",
"excalidraw-css": "text",
"excalidraw-autoexport": "text",
"excalidraw-embeddable-theme": "text",
"excalidraw-open-md": "checkbox"
}
}

210
.obsidian/workspace.json vendored Normal file
View file

@ -0,0 +1,210 @@
{
"main": {
"id": "7a1478f296ce757d",
"type": "split",
"children": [
{
"id": "1a8b80ce619e4ad0",
"type": "tabs",
"children": [
{
"id": "c14c79a0c144d87c",
"type": "leaf",
"state": {
"type": "excalidraw",
"state": {
"file": "organigrames/old.excalidraw"
}
}
},
{
"id": "bc371c138dcce692",
"type": "leaf",
"state": {
"type": "markdown",
"state": {
"file": "to do.md",
"mode": "source",
"source": false
}
}
},
{
"id": "11c1d64e97546e40",
"type": "leaf",
"state": {
"type": "excalidraw",
"state": {
"file": "organigrames/knowledge.md"
}
}
}
],
"currentTab": 1
}
],
"direction": "vertical"
},
"left": {
"id": "4df5affe207e6487",
"type": "split",
"children": [
{
"id": "346febe81a9a7a0e",
"type": "tabs",
"children": [
{
"id": "a936868e2ce8cfce",
"type": "leaf",
"state": {
"type": "file-explorer",
"state": {
"sortOrder": "alphabetical"
}
}
},
{
"id": "8903b78342c67829",
"type": "leaf",
"state": {
"type": "search",
"state": {
"query": "",
"matchingCase": false,
"explainSearch": false,
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical"
}
}
},
{
"id": "06cb014c5a7480c2",
"type": "leaf",
"state": {
"type": "bookmarks",
"state": {}
}
}
]
}
],
"direction": "horizontal",
"width": 225.5
},
"right": {
"id": "2cadbcb31417d474",
"type": "split",
"children": [
{
"id": "7755569fc548f041",
"type": "tabs",
"children": [
{
"id": "1360723424fd8655",
"type": "leaf",
"state": {
"type": "backlink",
"state": {
"file": "to do.md",
"collapseAll": false,
"extraContext": false,
"sortOrder": "alphabetical",
"showSearch": false,
"searchQuery": "",
"backlinkCollapsed": false,
"unlinkedCollapsed": true
}
}
},
{
"id": "f429a7fd83df08a8",
"type": "leaf",
"state": {
"type": "outgoing-link",
"state": {
"file": "to do.md",
"linksCollapsed": false,
"unlinkedCollapsed": true
}
}
},
{
"id": "f30dd3f0c7687c33",
"type": "leaf",
"state": {
"type": "tag",
"state": {
"sortOrder": "frequency",
"useHierarchy": true
}
}
},
{
"id": "828d39479a238355",
"type": "leaf",
"state": {
"type": "outline",
"state": {
"file": "to do.md"
}
}
}
],
"currentTab": 3
}
],
"direction": "horizontal",
"width": 300,
"collapsed": true
},
"left-ribbon": {
"hiddenItems": {
"switcher:Open quick switcher": false,
"graph:Open graph view": false,
"canvas:Create new canvas": false,
"daily-notes:Open today's daily note": false,
"templates:Insert template": false,
"command-palette:Open command palette": false,
"obsidian-excalidraw-plugin:Create new drawing": false
}
},
"active": "bc371c138dcce692",
"lastOpenFiles": [
"organigrames/knowledge.md",
"to do.md",
"organigrames/old.excalidraw",
"ressources/Neo Hookean Behavior Law.md",
"ressources/Composite laminate models.md",
"ressources/Impact-Shock-Collision.md",
"ressources/Zig-Zag Theories.md",
"articles/Article_Taylor_and_Francis_vfinal.pdf",
"ressources/Equivalent Single Layer Theories.md",
"ressources/Hertz Law.md",
"ressources/Layerwise Theories.md",
"ressources/Hysteresis.md",
"ressources/Viscoelasticity.md",
"ressources/PCLD.md",
"main articles descriptions.md",
"ressources/Accelerance.md",
"ressources/Finite element method.md",
"ressources/Continuum Mechanics.md",
"ressources/Impact Models.md",
"unknown.md",
"secondary articles descriptions.md",
"videos.md",
"articles/to read/passive constrained layer damping.pdf",
"articles/Passive Constrained Layer Damping.pdf.md",
"linux.md",
"ressources/Newmark Time Integration.md",
"reunions/17-09.md",
"articles/to read/Passive Constrained Layer Damping.pdf",
"articles/to read/viscoelastic damping design.pdf",
"articles/passive constrained layer damping.pdf",
"articles/passive constrained layer daping.pdf",
"articles/viscoelastic damping design.pdf",
"articles/Passive Constrained Layer Damping.pdf",
"articles/to read/neo-hookean model analysis.pdf",
"articles/old_description.md"
]
}

17
.trash/17-09.md Normal file
View file

@ -0,0 +1,17 @@
# Hysteresis
[ref](https://en.wikipedia.org/wiki/Hysteresis)
the dependence of the state of a system on its history.
# Hertz law
[ref](https://www.sciencedirect.com/topics/engineering/hertz-theory)
contact between two elastic solids
# Newmark time integration
[ref](https://www.sciencedirect.com/topics/engineering/newmark-method)
a method of numerical integration used to solve certain differential equations.

0
.trash/[[PCLD.md]].md Normal file
View file

0
.trash/[[PCLD]].md Normal file
View file

0
.trash/[passive.md Normal file
View file

7
.trash/impact models.md Normal file
View file

@ -0,0 +1,7 @@
[ref](https://doi.org/10.1016/S0263-8223(00)00138-0)
There are 3 types of impact models :
(1) energy-balance models, assume a quasi-static behavior of the structure;
(2) spring-mass models, account for the dynamics of the structure in a simplified manner;
(3) complete models, the dynamic behavior of the structure is fully modeled.

0
.trash/passive.md Normal file
View file

0
.trash/pcld].md Normal file
View file

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View file

@ -0,0 +1,18 @@
# optimization of carbon-epoxy plates with a viscoelastic layer
[[Article_Taylor_and_Francis_vfinal.pdf|ref]]
**basis of the work**
*both experimental and numerical analyse*
This papers explore the use of [[PCLD]], its goal is to optimise the damping (of the dynamic response) from the [[Viscoelasticity|viscoelastic]] layer while keeping some stiffness (at least half of the undamped plate), by studying the size and placement of the bridges between the two external layers of carbon-epoxy.
The bridges are made by puncturing the viscoelastic layer with holes so that some of the epoxy matrix fills them.
The simulations where made using the finite element model, with 2D elements for the carbon-epoxy layers and 3D elements with a [[Neo Hookean Behavior Law|neo-hookean visco-hyper-elastic behavior law]] for the inserted layer. The simulations are accurate with the experiments.
The paper also points out an issue with the manufacturing of the bridges : the epoxy does not fill the holes fully, so there are bubbles or gaps, diminishing the properties of the material.

183
organigrames/knowledge.md Normal file
View file

@ -0,0 +1,183 @@
---
excalidraw-plugin: parsed
tags: [excalidraw]
---
==⚠ Switch to EXCALIDRAW VIEW in the MORE OPTIONS menu of this document. ⚠== You can decompress Drawing data with the command palette: 'Decompress current Excalidraw file'. For more info check in plugin settings under 'Saving'
# Excalidraw Data
## Text Elements
study of shocks on composite laminate
with an inserted viscoelastic layer ^WYlXieac
Composite laminate models ^FH2DKKBS
Impact Models ^hqaLafJy
Layerwise ^8HpKHQA5
Neo Hookean Behavior Law ^lh4BSpFy
PCLD ^Bh7yIISX
Viscoelasticity ^kBPOTOMw
Zig-Zag ^YkLZ05BJ
ESL ^GhrCORbU
Continuum Mechanics ^zKTSPR69
Accelerance ^ItclqVnw
Finite element method ^OTn2g0f6
Hertz Law ^m02F0WjR
## Element Links
WYlXieac: [[Article_Taylor_and_Francis_vfinal.pdf]]
FH2DKKBS: [[Composite laminate models]]
hqaLafJy: [[Impact Models]]
8HpKHQA5: [[Layerwise Theories]]
lh4BSpFy: [[Neo Hookean Behavior Law]]
Bh7yIISX: [[PCLD]]
kBPOTOMw: [[Viscoelasticity]]
YkLZ05BJ: [[Zig-Zag Theories]]
GhrCORbU: [[Equivalent Single Layer Theories]]
zKTSPR69: [[Continuum Mechanics]]
ItclqVnw: [[Accelerance]]
OTn2g0f6: [[Finite element method]]
m02F0WjR: [[Hertz Law]]
%%
## Drawing
```compressed-json
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
w+NCQi8LWCUZcEEbnw6oYQAA
```
%%

1268
organigrames/old.excalidraw Normal file

File diff suppressed because it is too large Load diff

View file

@ -0,0 +1,2 @@
Accelerance is a measure used in mechanical systems that relates acceleration to applied force.

View file

@ -0,0 +1,19 @@
To model composite laminate in the context of mechanics, there exist a few models :
## Equivalent single layer (ESL)
Those theories works by computing the homogenized material properties, and solving only at the mid plane. They are useful for global response for thin laminates and are computationnally inexpensive.
(see [[Equivalent Single Layer Theories]])
---
## Layerwise (LW)
Those theories describe kinetically each layer. They can be used for very thick laminate, and useful to compute delamination. They predicts correct inter-laminar stresses and there is no need of shear correction factor.
(see [[Layerwise Theories]])
---
## Zig-Zag
(see [[Zig-Zag Theories]])

View file

@ -0,0 +1,6 @@
see [[videos]] for references
The strain tensor is the symmetric part of the gradient of the displacement field vector.
$$\varepsilon = \frac{\nabla{U} +\nabla{U}^T}{2}$$
In continuum mechanics, the force over an area is not the stress, it is traction.

View file

@ -0,0 +1,16 @@
To [[Composite laminate models|model a composite laminate]] there are a few options, the most important are the equivalent single layer and the [[Layerwise Theories|layerwise]].
Those theories works by computing the homogenized material properties, and solving only at the mid plane. They are useful for global response for thin laminates and are computationnally inexpensive.
*They have issue with layers of different properties.*
#### Classical Laminate Theory (CLT), hypothesis :
The normal line to the median plane of the plate before deformation stays normal to the plane after deformation.
-> lack of transverse shear
#### First-order Shear Deformation Theory (FSDT), hypothesis :
The normal line to the median plane of the plate stays straight after deformation but it is not normal to the middle plane, the shear constraint stays constant along the thickness of the plate.
#### High-order Shear Deformation theory (HSDT) :
More complex variation of the shear constraint along the thickness of the plate, but more computationally expensive.

View file

@ -0,0 +1,16 @@
The finite element method is a mathematical method to be able to computationally solve a differential equation.
The core of the method is to discretise the problem, because computer cannot solve the problem analytically.
[weak formulation](https://www.youtube.com/watch?v=xZpESocdvn4) *(30min)*
The weak formulation is the formulation of the differential equation so that it becomes solvable using the finite elements method.
This video shows how the weak formulation is derived from the initial problem, and its use.
[finite element method](https://www.youtube.com/watch?v=1wSE6iQiScg) *(40min)*
The finite element method is a mathematical method to be able to computationally solve a differential equation.
The core of the method is to discretise the problem, because computer cannot solve the problem analytically.

6
ressources/Hertz Law.md Normal file
View file

@ -0,0 +1,6 @@
[ref](https://www.sciencedirect.com/topics/engineering/hertz-theory)
describes the contact between two elastic solids
### limitations
do not take into account the transverse shear

3
ressources/Hysteresis.md Normal file
View file

@ -0,0 +1,3 @@
[ref](https://en.wikipedia.org/wiki/Hysteresis)
the dependence of the state of a system on its history.

View file

@ -0,0 +1,6 @@
There are 3 types of impact models :
(1) energy-balance models, assume a quasi-static behavior of the structure;
(2) spring-mass models, account for the dynamics of the structure in a simplified manner;
(3) complete models, the dynamic behavior of the structure is fully modeled.

View file

@ -0,0 +1,11 @@
# collision
A collision is a broad term that describes any event where two or more bodies exert forces on each other for a relatively short time.
# impact
An impact is a type of collision with a high force over a short duration.
# shock
A shock is a transient high force event with clearly defined parameters for testing purposes. Can be an impact, an other type of collision, an explosion, etc...

View file

@ -0,0 +1,119 @@
To [[Composite laminate models|model a composite laminate]] there are a few options, the most important are the [[Equivalent Single Layer Theories|equivalent single layer]] and the layerwise.
Those theories describe kinetically each layer. They can be used for very thick laminate, and useful to compute delamination. They predicts correct inter-laminar stresses and there is no need of shear correction factor.
## Stiffness
[course](https://www.youtube.com/watch?v=j3rvtgqrGsQ) *(1h30)*
When pulling on the material, strain is the same for every ply, but stress is not.
You need to average it along the whole thickness
$$
\left[\begin{array}{c}
\overline{\sigma_{xx}} \\
\overline{\sigma_{yy}} \\
\overline{\tau_{xy}} \\
\end{array}\right]
= \frac{1}{h}\int_{-h/2}^{h/2} \left[\begin{array}{c}
\sigma_{xx} \\
\sigma_{yy} \\
\tau_{xy} \\
\end{array}\right] dz \tag{1}$$
$Q$ is the stiffness matrix :
$$ \left[\begin{array}{c}
\sigma_{xx} \\
\sigma_{yy} \\
\tau_{xy}
\end{array}\right]
=
\left[\begin{array}{c}
Q_{11} & Q_{12} & Q_{13} \\
Q_{21} & Q_{22} & Q_{23} \\
Q_{31} & Q_{32} & Q_{33} \\
\end{array}\right]
\left[\begin{array}{c}
\varepsilon_{xx} \\
\varepsilon_{yy} \\
\gamma_{xy}
\end{array}\right] \tag{2}$$
Since the strain is the same for every ply, (1) & (2) gives us :
$$
\left[\begin{array}{c}
\overline{\sigma_{xx}} \\
\overline{\sigma_{yy}} \\
\overline{\tau_{xy}} \\
\end{array}\right]
= \frac{1}{h}\int_{-h/2}^{h/2}
\left[\begin{array}{c}
Q_{11} & Q_{12} & Q_{13} \\
Q_{21} & Q_{22} & Q_{23} \\
Q_{31} & Q_{32} & Q_{33} \\
\end{array}\right]dz
\left[\begin{array}{c}
\varepsilon_{xx} \\
\varepsilon_{yy} \\
\gamma_{xy}
\end{array}\right]
\tag{3}$$
and we can give a name to the mean matrix of the stiffness :
$$
\left[\begin{array}{c}
A \\
\end{array}\right]
= \frac{1}{h}\int_{-h/2}^{h/2}
\left[\begin{array}{c}
Q_{11} & Q_{12} & Q_{13} \\
Q_{21} & Q_{22} & Q_{23} \\
Q_{31} & Q_{32} & Q_{33} \\
\end{array}\right]dz
\tag{4}$$
or when the ply are continuous :
$$
\left[\begin{array}{c}
A \\
\end{array}\right]
= \frac{1}{h}\sum_{1}^{n\_ply}
\left[\begin{array}{c}
Q
\end{array}\right]_i *h_i
\tag{5}$$
to rotate the stiffness matrix :
$$[\overline{Q}]_\theta
= [C]_{|\theta}^T
\left[\begin{array}{c}
Q_{11} & Q_{12} & 0 \\
Q_{21} & Q_{22} & 0 \\
0 & 0 & Q_{33} \\
\end{array}\right]
[C]_{|\theta}
\tag{4}$$
where $[C]$ is the transformation matrix :
$$[C]_{|\theta} = \left[\begin{array}{c}
c^2 & s^2 & cs \\
s^2 & c^2 & -cs \\
-2sc & 2sc & (c^2-s^2)
\end{array}\right]$$
## Tsai-Hill criterion
$$
F.O.S = \frac{T_x}{\sqrt{\sigma_{xx}^2 - \sigma_{xx}\sigma_{yy} + \frac{T_x^2\sigma_{yy}^2}{T_y^2} + \frac{T_x^2\tau_{xy}^2}{S_{xy}^2}}}$$

View file

@ -0,0 +1,10 @@
hook law for large deformations
[ref](https://en.wikiversity.org/wiki/Advanced_elasticity/Neo-Hookean_material)
neo-Hookean material ~ hyperelastic material
no linear relationship between stress and strain
even better : [mooney-rivin solid](https://en.wikipedia.org/wiki/Mooney%E2%80%93Rivlin_solid)

View file

@ -0,0 +1,3 @@
[ref](https://www.sciencedirect.com/topics/engineering/newmark-method)
A method of numerical integration used to solve certain differential equations.

10
ressources/PCLD.md Normal file
View file

@ -0,0 +1,10 @@
*Passive Constrained Layer Damping*
[[passive constrained layer damping.pdf|ref]]
UCLD : unconstrained, the dampening occurs through compression/traction.
CLD : constrained, the dampening occurs through shear, but compressional
damping cannot be neglected (especially if thick layer)
Usually done using a [[Viscoelasticity|viscoelastic material]]

View file

@ -0,0 +1,15 @@
Viscous materials, like water, resist both shear flow and strain linearly with
time when a stress is applied. Elastic materials strain when stretched and
immediately return to their original state once the stress is removed.
A viscoelastic material has the following properties:
[Hysteresis](Hysteresis.md) is seen in the stressstrain curve
stress relaxation occurs: step constant strain causes decreasing stress
creep occurs: step constant stress causes increasing strain
its stiffness depends on the strain rate
A viscoelastic substance dissipates energy when a load is applied, then removed.
### nota bene
The properties of a viscoelastic layer change with the frequency of excitation

View file

@ -0,0 +1,12 @@
first-order zig-zag theory (FZZT),
[ref](https://www.sciencedirect.com/science/article/abs/pii/S026382239900063X)
allowing for discontinuities in displacement between layers.
 captures the "zig-zag" pattern of displacements through the thickness that occurs due to different layer stiffness.
 
The first-order zig-zag theory introduces additional terms to the displacement field assumptions used in classical laminate theory:
1. It adds a zig-zag function that allows for slope discontinuities at layer interfaces.
2. It maintains continuity of transverse stresses between layers.
3. It satisfies the traction-free boundary conditions on the top and bottom surfaces.

25
reunions/17-09.md Normal file
View file

@ -0,0 +1,25 @@
# Objectif principal du mémoire
état de l'art post 2020 sur les composite avec couche visco-élastique pontés
# Plan proposé
- partie progression amortissement des vibrations depuis la thèse, avec un focus sur l'amorti avec ponts
- partie étude des chocs
# Travail de recherche
### Base de données
- base Vauban
- Scopus
- webofscience
- science direct
### Méthodologie
Lire abstract/conclusion/finding, utiliser les noms d'auteurs pour chercher d'autres articles qu'ils pourraient avoir écrit.
### A consulter
articles 58-59-60-61 de la thèse

View file

@ -0,0 +1,78 @@
# optimization method of composite laminates with a viscoelastic layer
[ref](https://d1wqtxts1xzle7.cloudfront.net/33874260/2011-2-libre.pdf?1401929433=&response-content-disposition=inline%3B+filename%3DMulti_objective_Optimization_of_Co_cured.pdf&Expires=1726671246&Signature=X30Tmzd9RIn7nsIGU2Q4ZgeCchtgP~md5owXYAwnVnZj9pZCx1Ck~6owvGcTyWQwCJcm~i3zbXCXioNqPemkodqkkJ3m3mQZJ5yY7FYpc2i86ZUsACau8A-Gr3YNQ0XNFIGO4drqLGq21zz67T-CnsYfUV3LRpvY4wiZ2TWs4Q~ImvfTtlxcDTCCr4JW5abxR75Fi0yiSe6og7qjwdLh8E50qFdcXTvijO6qm9dnpW854ozStXkGkhsq16PzBfIbFLE7yrXc6zzAtUUHF5YpUfZRYl7V2xfu8s51Cvp9-YIJ8gt2v-qm2uQM92DPbZ9J62unLsIog2pr-HUWUxjqDw__&Key-Pair-Id=APKAJLOHF5GGSLRBV4ZA)
This paper develops a method to transform a multi objective (damping and stiffness)
into a single one, to facilitate optimization.
# experimental investigation of the dissipation of a viscoelastic inserted layer
[ref](https://sci-hub.se/https://journals.sagepub.com/doi/abs/10.1177/1077546319844545)
This paper try to assess the damping qualities of a visco elastic insert. It found that it is very efficient in medium and high frequency ranges.
---
---
# model for impact on fiber metal laminate with a viscoelastic layer
[ref](https://doi.org/10.1016/j.ijmecsci.2021.106298)
_can teach about impact on viscoelastic sandwich impact_
Use a specific criterion to quantitatively estimate whether the composite
structure is damaged subjected to impact excitation.
Reddys high-order shear deformation theory for the viscoelastic layer
---
# Hard and Soft Collisions
[ref](https://www.compadre.org/Physlets/mechanics/illustration8_3.cfm)
A soft collision is an inelastic collision, which means that kinetic energy
is not conserved (because internal friction). However, the momentum is still
conserved.
A perfectly inelastic collision occurs when the two bodies stays together,
and the energy is lost by bonding the two bodies.
# inelastic collison for composite materials
[ref](https://doi.org/10.1016/0263-8223(90)90025-A)
Use the finite element model to get the dynamic response.
The structure is considered elastic but the loading is considered
inelastic.
The isoparametric linear shell element is modified
to take into account the shear deformation and rotatory inertia.
-
inelastic collision : masses added together and
momentum conserved, used for slamming or other wave-like loading
This model is reasonable when the impactor is relatively soft and the mass
of impactor is larger than the mass of the node being impacted.
# finite element modeling of low-velocity impact on laminated composite plates and cylindrical shells
[ref](https://doi.org/10.1016/j.compstruct.2010.10.003)
use of abaqus
examination of the validity of different models
propose a benchmark method in low-velocity impact modeling of composite structures
# Analysis of Laminated Composites Subjected to Impact (p 243)
[ref](https://link.springer.com/chapter/10.1007/978-3-030-66717-7_19)
very recent paper, propose both theoretical and experimental approaches to
the analysis of laminated composite response to impact loading

31
to do.md Normal file
View file

@ -0,0 +1,31 @@
- [x] get used to the college library (download pdf ?)
- [x] read thesis
- [x] read articles 58->61
- [x] find article who reference article 57->61
- [x] format latex
- [ ] mail Herve for project launching
- [ ] [get article](https://www.tandfonline.com/doi/abs/10.1080/15376494.2022.2097355)
- [ ] plan
# to read (take notes)
- [ ] [[accelerance.pdf]]
- [ ] [[neo-hookean model analysis.pdf]]
- [ ] [[passive constrained layer damping.pdf]]
- [ ] [[viscoelastic damping design.pdf]]
- [ ] [[zig-zag.pdf]]
- [ ] [[Impact_and_vibration_of_hybrid_fiber_metal_laminates.pdf]]
- [ ] [laminate theory of composite materials](https://link.springer.com/book/10.1007/978-3-031-32975-3)
# to watch
- [x] [composite material modeling](https://www.comsol.fr/video/modeling-layered-composite-structures-with-comsol-multiphysics-nov-29-2018)
- [x] obsidian tutorial
# to fill (check things to read)
- [ ] [[Accelerance]]
- [ ] [[Zig-Zag Theories]]
- [ ] [[Neo Hookean Behavior Law]]
- [ ] [[PCLD]]
- [ ] [[Viscoelasticity]]
## bonus
[naval impact study (without viscoelastic layer)](https://sci-hub.se/https://doi.org/10.1016/0263-8223(90)90025-A)

10
unknown.md Normal file
View file

@ -0,0 +1,10 @@
### to learn
classical plate theory/classical shell theory (Kirchhoff hypothesis)
finite elements and alternative : the immersion method, the method of R-functions
accélérance
Zig-Zag model theory
### questions
good resources to learn ?

50
videos.md Normal file
View file

@ -0,0 +1,50 @@
# finite element method
full notes : [[Finite element method]]
[weak formulation](https://www.youtube.com/watch?v=xZpESocdvn4) *(30min)*
The weak formulation is the formulation of the differential equation so that it becomes solvable using the finite elements method.
This video shows how the weak formulation is derived from the initial problem, and its use.
[finite element method](https://www.youtube.com/watch?v=1wSE6iQiScg) *(40min)*
The finite element method is a mathematical method to be able to computationally solve a differential equation.
The core of the method is to discretise the problem, because computer cannot solve the problem analytically.
# continuum mechanics
full notes : [[Continuum Mechanics]]
[continuum mechanics](https://www.youtube.com/watch?v=rhDkluTuWlQ) *(10min)*
This video goes over what is continuum mechanics, and the uses of fields to describe matter. It presents as well the boundary value problem.
[strain tensor formula](https://www.youtube.com/watch?v=X-H3Fwdm-kI) *(10min)*
The strain tensor is the symmetric part of the gradient of the displacement field vector.
This video manages to make this confusing statement a lot clearer.
[visualizing the strain tensor](https://www.youtube.com/watch?v=UQ4GnWACesY) *(10min)*
This video makes the physical effect of each element of the tensor more apparent.
[stress and traction](https://www.youtube.com/watch?v=NtTVEzZS3Bg) *(10min)*
In continuum mechanics, the force over an area is not the stress, it is traction. This video helps getting a clearer understanding of the stress tensor.
# laminate analysis
[composite materials](https://www.youtube.com/watch?v=j3rvtgqrGsQ) *(1h30)*
This video is a course on the analysis of composite laminate. Mainly the maths to compute the stress/strain relationship with discrete layers.
(see [[Layerwise Theories]])
[modeling layered composite](https://www.comsol.fr/video/modeling-layered-composite-structures-with-comsol-multiphysics-nov-29-2018) *(1h)*
This video exposes multiple models for composite laminates, for example equivalent single layer (eql) and layerwise (lw)
(see [[Composite laminate models]])